|
写了一个让用户输入数b,然后显示b阶单位矩阵的东西 #include"stdio.h"
int main(void)
{
int b;
scanf("%d",&b);
int a[b][b];
for(int d=0;d<b;d++)
{
for(int c=0;c<b;c++)
{
if(c==d)
{
a[d][c]=1;
}
else
{
a[d][c]=0;
}
printf("%d",a[d][c]);
if(c+1==b)
{
printf("\n");
}
}
}
}
|
|
|
额,其实不需要使用数组吧,说道数组,lz的程序可以运行?
|
|
|
可以运行
刚学到数组,来实践下 话说那个程序为什么输入720或以上的数字会出错呢? |
|
| 7分 | |
| 7分 |
数组分配在栈上,而栈的大小是有限的
只是打印出n阶单位矩阵,可以存储矩阵元素:
int main(void)
{
int i, j, b;
do
{
scanf("%d", &b); fflush(stdin);
} while (b <= 0);
for (i = 0; i < b; i++)
{
for (j = 0; j < b; j++)
{
if (i == j) printf("%-2d", 1);
else printf("%-2d", 0);
}
printf("\n");
}
return 0;
}
|
|
更正:可以不用存储矩阵元素
|
|
|
谢谢大家!我刚初学,溢出什么的也半懂不懂的
还有刚发现一个问题 |
|
| 6分 |
VC不支持VLA
不要在C++中使用VLA(尽管一些C++编译器支持VLA,但C++标准是不支持的) |


