c语言起步题,实在不知道哪儿错了~急

来源:百度知道 编辑:UC知道 时间:2024/05/26 01:51:11
要求是要输出:
*********
*******
*****
***
*
main()
{ int i,j;
for(i=j;i<=5;i++)
{ for(j=1;j<i;j++) printf("");
for(j=1;j<=2*(5-i)+1;j++) printf("*");
printf("\n");
}
}
是i=j,打错了。但结果是
*******
*****
***
*
还是不对啊~~~

正解:
main ()
{
int i,j,k;
for (j=1,k=9;j<=5,k>=1;j++,k=k-2)
{
for (i=1;i<j;i++) printf (" ");/*循环输出0,1,2,3,4个空格*/
for (i=1;i<=k;i++) printf ("*");/*循环输出9,7,5,3,1个星*/
printf("\n");
}
}

你的程序存在的问题:
main()
{ int i,j; //i,j并未赋值
for(i=j;i<=5;i++) //i=j,j=?
{ for(j=1;j<i;j++) printf("");
for(j=1;j<=2*(5-i)+1;j++) printf("*");
printf("\n");
}
}

你可以仔细想想

int i,j;
for(i=j;

j没赋值, 就用j给i赋值?

第三行 for(i=j;i<=5;i++)
写错了 i=1而不是i=j

初始化错。int i;int j;
第一个for语句for(i=1;i<=5;i++)