问题
填空题
请补充main函数,该函数的功能是:输出一个N×N矩阵,要求非对角线上的元素赋值为0,对角线元素赋值为1。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。 试题程序: #include<stdio. h> #define N 10 main ( ) { int bb[N] [N]; int i, j,n; clrscr (); printf (" \nInput n:\n"); scanf ("%d", &n); for (i=0; i<n; i++) for (j=0; j<n; j++) { 【1】 ; if (i==j) bb[i] [j]= 【2】 ; if ( 【3】 ) bb[i] [j]=1; } printf(" \n***** the result ***** \n"); for (i=0; i<n; i++) { printf (" \n\n"); for (j=0; j<n; j++) printf ("%4d",bb [i] [j] ); }}
答案
参考答案:bb[i][j]=0 (2)1 (3)j==n-1-i
解析: 填空1:本题的解题思路是先将所有元素都置0,然后再将对角线上的元素置1。所以此空是先将当前元素置0。 填空2:如果当前元素的下标i和j相等,则此元素是主对角线元素,要将它赋值为1。填空2:如果当前元素的下标i和j满足关j==n-1-i,则此元素也是对角线元素,也要将它赋值为1。