数字在用户输入的数字之前

时间:2015-10-14 03:33:39

标签: c

  

要求用户输入介于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;
}

2 个答案:

答案 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);

此外,您还需要按照定义numendnum的方式定义pre

答案 1 :(得分:1)

你非常接近。您有preendnum。您只想从pre循环到endnum(包括),并打印出每个。

如果您愿意,可以使用while循环,但对我来说,这种情况更直接地适用于for循环。类似的东西:

for (num = endnum - pre; num <= endnum; ++num)
{
    printf("%d ", num);
}

其中num预先声明为int