如果用户输入5,则应打印
* * * * *
这是我到目前为止所拥有的。请帮忙。告诉我有什么问题。输出只保持打印*
。它不会停止。
//declare variables
int star;
int num;
printf("Enter a number between 1 and 15: ");
scanf("%i", &num);
while(num<1||num>15){
printf("Invalid input\nPlease re-enter: ");
}
for(star=num;num<15;num--){
printf("* ");
}
答案 0 :(得分:2)
按以下方式编写第二个循环
while ( num-- ) printf("* ");
第一个循环必须有scanf语句
int num = 0;
printf("Enter a number between 1 and 15: ");
while( scanf("%i", &num) == 1 && ( num<1||num>15 )){
printf("Invalid input\nPlease re-enter: ");
num = 0;
}
结果您将拥有以下代码
int num = 0;
printf("Enter a number between 1 and 15: ");
while( scanf("%i", &num) == 1 && ( num < 1 || num > 15 ) ){
printf("Invalid input\nPlease re-enter: ");
num = 0;
}
while ( num-- ) printf("* ");
答案 1 :(得分:0)
试试这段代码。
int num,i;
printf("Enter a number between 1 and 15: ");
scanf("%d", &num);
while(num<1||num>15){
printf("Invalid input\nPlease re-enter: ");
}
for (i=0;i<num;i++)
{
printf("*");
}