C的一道小题 (03) 逻辑错误 请求指点
用户输入行数.输出菱形.(菱形的宽和高相等且为奇数,至少5行.)n=5
x
x x
x x
x x
x
为啥我编的一运行就是满天星呢?
程序代码:#include <stdio.h>
void main ()
{
int i,j,n;
printf ("输入菱形的宽度n:\n");
scanf ("%d",&n);
while (n<5||n%2==0)
{
printf ("输入错误,请重输:");
scanf ("%d",&n);
}
for (i=1;i<=n/2+1;i++)
{
if (i=1)
{
for (j=1;j<=(n/2+1-i);j++)
printf (" ");
printf ("*");
}
else
{
for (j=1;j<=(n/2+1-i);j++)
printf (" ");
printf ("*");
for (j=1;j<=(i*2-3);j++)
printf (" ");
printf ("*\n");
}
}
for (i=n/2;i>0;i--)
{
if (i=1)
{
for (j=1;j<=(n/2+1-i);j++)
printf (" ");
printf ("*\n");
}
else
{
for (j=1;j<=(n/2+1-i);j++)
printf (" ");
printf ("*");
for (j=1;j<=(i*2-3);j++)
printf (" ");
printf ("*\n");
}
}
}[ 本帖最后由 d6230619 于 2010-11-19 20:29 编辑 ]



