- 论坛徽章:
- 0
|
输入1-30之间的数字,输出金字塔。
如果输出的数字不在1-30之间,提示出错,正常。
可是一输入字母就会一直在while那里循环,满屏的Input wrong number! Please input again:
为什么字母不在判断之内啊?
/*输出数字金字塔*/
#include <stdio.h>
int main()
{
int number, lnumber, rnumber;
int rows,blank;
printf("Please input a number between 1 to 30:");
scanf("%d", &number);
while ( (number < 0 || number > 30) )
{
printf("Input wrong number! Please input again:");
scanf("%d", &number);
}
{
rows = (number - 1);
for (rows; rows >= 0; rows--)
{
for (blank = rows; blank >= 0; blank--)
printf(" ");
for (lnumber = 1; lnumber <= (number - rows); lnumber++)
printf("%d ", lnumber);
for (rnumber = (number - rows - 1); rnumber >= 1; rnumber--)
printf("%d ", rnumber);
printf("\n");
}
}
}
[ 本帖最后由 whelysee 于 2009-11-20 23:32 编辑 ] |
|