`
#include<stdio.h>
int main()
{
int i,k,n;int b[i][k];
printf("输入阶数n:\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(k=0;k<n;k++)
{
if (i==k)
b[i][k]=1;
else
b[i][k]=0;
}
}
for(i=0;i<n;i++)
{
for(k=0;k<n;k++)
{
printf("%d",b[i][k]);
}
printf("\n");
}
}````
```
i,k还未初始化,不能用来定义数组。
用代码段贴一下吧 你代码都让和谐了
虽然没看懂你贴的代码,但是我大概明白了你想要的结果,生成一个n 阶矩阵,主对角线上都是1 ,这样的矩阵叫单位矩阵,可以这样实现
#include<stdio.h>
int main(){
int n;
while(scanf("%d",&n)!=EOF){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(i==j){
printf("1");
}else{
printf("0");
}
if(j<n-1){
printf(" ");
}
}
printf("\n");
}
printf("\n");
}
return 0;
}
运行效果