要求用户输入介于1和100之间的随机数。然后询问他/她想要显示的数字在他/她进入的第一个数字之前显示的数量。
如果用户输入9并希望3个数字在9之前,则程序应显示:
6 7 8 9
我无法完成它。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int endnum, pre;
printf("Enter a random number between 1 and 100: ");
scanf("%d", &endnum);
printf("how many numbers he wants to display that precedes first number you entered: ");
scanf("%d", &pre);
num = endnum - pre;
printf (%d, num+1)
num = num + 1
while (num <= endnum)
return 0;
}
答案 0 :(得分:1)
这不是一次糟糕的第一次尝试,你只需要解决一个轻微的逻辑问题和一些小的语法问题。
根据my original pseudo-code from your previous question,你需要有一个循环来进行打印。您还需要分号用于语句终止符,字符串周围的引号以及打印正确的值。所以改变:
printf (%d, num+1)
num = num + 1
while (num <= endnum)
成:
do {
printf ("%d ", num);
num = num + 1;
} while (num <= endnum);
此外,您还需要按照定义num
和endnum
的方式定义pre
。
答案 1 :(得分:1)
你非常接近。您有pre
和endnum
。您只想从pre
循环到endnum
(包括),并打印出每个。
如果您愿意,可以使用while
循环,但对我来说,这种情况更直接地适用于for
循环。类似的东西:
for (num = endnum - pre; num <= endnum; ++num)
{
printf("%d ", num);
}
其中num
预先声明为int
。