没输出
把保留的数逆序输出#include<stdio.h>
int main()
{
int a,i=0,j;
while(1)
{
scanf("%d",&a);
i++;
}
for(j=i-1;j>0;j--)
{
printf("%d ",a);
}
printf("%d",a);
return 0;
}
你的代码有两个问题。首先,在while循环中,你没有退出循环的条件。其次,在for循环中,你没有更新变量a的值。以下是修复后的代码:
#include <stdio.h>
int main()
{
int a, i = 0, j;
int numbers; // 假设最多输入100个数
while (1)
{
scanf("%d", &a);
if (a == 0) // 假设输入0表示结束输入
break;
numbers = a;
i++;
}
for (j = i - 1; j >= 0; j--)
{
printf("%d ", numbers);
}
return 0;
}
在修复的代码中,我们使用一个数组numbers来保存输入的数字。当输入0时,表示输入结束,然后使用for循环逆序输出数组中的数字。注意,我们将i的初始值设为0,而不是1,是因为数组的下标从0开始。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 这个C语言程序在输入部分是一个无限循环,因此程序会持续接收输入,直到手动停止,否则它将一直运行下去。此外,输出部分的代码没有在输入循环结束后写入,这也是程序不会输出任何内容的原因。如果您想在输入特定的数之后停止接收,并输出逆序的数值,那么您可以尝试以下修改后的代码:
#include<stdio.h>
int main()
{
int a,n,i;
scanf("%d",&n); // 输入你要输入的数字的数量
for(i=0;i<n;i++){
scanf("%d",&a);
}
for(i=n-1;i>0;i--){
printf("%d ",a);
}
printf("%d ",a);
return 0;
}
在这个程序中,它将首先询问您要输入多少个数字,然后您可以按照这个数量输入您的数字,最后,它会以逆序的方式打印出这些数字。
求最佳答案
页:
[1]