我有一个运行良好的程序,但我需要一些帮助将其转换为一个程序,而不是采用一个固定的整数并计数到0然后返回到固定的整数,取一个通过scanf输入的整数并执行此操作。
这是代码
#include <stdio.h>
int main()
{
int count = 10;
while (count >= 1)
{
printf("%d \n", count);
count--;
}
printf("*****\n");
while (count <= 10)
{
printf("%d \n", count);
count++;
}
getchar();
return 0;
}
答案 0 :(得分:1)
只需用变量替换10的两个出现,然后从用户输入填充该变量。
#include <stdio.h>
int main() {
int number;
scanf("%d", &number);
int count = number;
while (count >= 1) {
printf("%d \n", count);
count--;
}
printf("*****\n");
while (count <= number) {
printf("%d \n", count);
count++;
}
getchar();
return 0;
}
答案 1 :(得分:0)
我可以建议以下解决方案。程序水平而不是垂直输出数字。
#include <stdio.h>
int main( void )
{
while (1)
{
printf("Enter a number (0 - exit): ");
int n;
if (scanf("%d", &n) != 1 || (n == 0)) break;
int i = n;
do
{
printf("%d ", i);
} while (n < 0 ? i++ : i--);
i = 0;
while (( n < 0 ? i-- : i++ ) != n) printf("%d ", i);
putchar('\n');
}
return 0;
}
它的输出可能看起来像
Enter a number (0 - exit): 10
10 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10
Enter a number (0 - exit): -10
-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10
Enter a number (0 - exit): 0