gpt4 book ai didi

c - 如何在 C 中每行打印 10 个值,其中值按降序排列并且仅使用 while 循环和 if-else 语句?

转载 作者:行者123 更新时间:2023-11-30 18:45:50 25 4
gpt4 key购买 nike

我想编写一个程序,用户可以输入 1100 之间的数字。然后程序将显示该数字及其前面的所有数字,直到 1。每行只能有 10 个数字。所以基本上它应该看起来像:

<小时/>

enter image description here

<小时/>

我使用了这段代码:

<小时/>
#include <stdio.h>
#include <conio.h>

void main(void) {
int num, counter;
counter = 1;

printf("Input a number between 1 and 100: ");
scanf("%d", &num);

printf("\n");

if (num> 1 && num < 100)
while (num > 0) {
printf("%d %d %d %d %d %d %d %d %d %d \n", num, num - 1, num - 2, num - 3, num - 4, num - 5, num - 6, num - 7, num - 8, num - 9);
num -= 10;
}
else
printf("\nInvalid value. Please enter a different number.");

getch();
}
<小时/>

但最后还是一直显示0和负数。

enter image description here

如何解决这个问题?

最佳答案

你的问题是线路

while(num>0)

num 可以是 3,大于零。但是,在 printf 语句中,您打印最多 num-9 的数字,即 -6。尝试一次打印一个数字,并每次检查是否已打印所需的 10 个数字/行。您可以(例如)使用模运算符来计算除以 10 的余数。如果余数为零,您可以开始新的一行。

关于c - 如何在 C 中每行打印 10 个值,其中值按降序排列并且仅使用 while 循环和 if-else 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53500570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com