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 编辑 ]