暂时只想到最简单的两层循环实现,留待后看,慢慢优化:
1 #include <iostream> 2 using namespace std; 3 int main() 4 { 5 int arr[6][6] = {0}; 6 7 for (int i = 0; i < 6; i++) 8 { 9 for (int j = 0; j < 6; j++) 10 { 11 if (i == 0 || i == 5) 12 { 13 arr[i][j] = 1; 14 } 15 else if (i == j) 16 { 17 arr[i][j] = 1; 18 } 19 else if (i + j == 5) 20 { 21 arr[i][j] = 1; 22 } 23 else 24 { 25 arr[i][j] = -1; 26 } 27 cout<<arr[i][j]<<" "; 28 } 29 cout<<endl; 30 } 31 return 0; 32 }
练习1:将一个6*6数组的第一行,第六行,主对角线和副对角线上的元素都存1,其他元素都存成-1,不需使用初始化,尽量少使用循环,布布扣,bubuko.com
练习1:将一个6*6数组的第一行,第六行,主对角线和副对角线上的元素都存1,其他元素都存成-1,不需使用初始化,尽量少使用循环
原文地址:http://www.cnblogs.com/leisc/p/3840545.html