鱼C论坛

 找回密码
 立即注册
查看: 414|回复: 2

没输出

[复制链接]
发表于 2023-12-15 20:41:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
把保留的数逆序输出
#include<stdio.h>
int main()
{
    int a[100000],i=0,j;
    while(1)
    {
        scanf("%d",&a[i]);
        i++;
    }
    for(j=i-1;j>0;j--)
    {
        printf("%d ",a[j]);
    }
    printf("%d",a[0]);
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-12-15 20:42:06 | 显示全部楼层
你的代码有两个问题。首先,在while循环中,你没有退出循环的条件。其次,在for循环中,你没有更新变量a的值。以下是修复后的代码:
  1. #include <stdio.h>
  2. int main()
  3. {
  4.     int a, i = 0, j;
  5.     int numbers[100]; // 假设最多输入100个数
  6.    
  7.     while (1)
  8.     {
  9.         scanf("%d", &a);
  10.         if (a == 0) // 假设输入0表示结束输入
  11.             break;
  12.         
  13.         numbers[i] = a;
  14.         i++;
  15.     }
  16.    
  17.     for (j = i - 1; j >= 0; j--)
  18.     {
  19.         printf("%d ", numbers[j]);
  20.     }
  21.    
  22.     return 0;
  23. }
复制代码

在修复的代码中,我们使用一个数组numbers来保存输入的数字。当输入0时,表示输入结束,然后使用for循环逆序输出数组中的数字。注意,我们将i的初始值设为0,而不是1,是因为数组的下标从0开始。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-15 21:12:41 | 显示全部楼层
这个C语言程序在输入部分是一个无限循环,因此程序会持续接收输入,直到手动停止,否则它将一直运行下去。此外,输出部分的代码没有在输入循环结束后写入,这也是程序不会输出任何内容的原因。如果您想在输入特定的数之后停止接收,并输出逆序的数值,那么您可以尝试以下修改后的代码:

  1. #include<stdio.h>
  2. int main()
  3. {
  4.     int a[100000],n,i;
  5.     scanf("%d",&n); // 输入你要输入的数字的数量
  6.     for(i=0;i<n;i++){
  7.         scanf("%d",&a[i]);
  8.     }
  9.     for(i=n-1;i>0;i--){
  10.         printf("%d ",a[i]);
  11.     }
  12.     printf("%d ",a[0]);
  13.     return 0;
  14. }
复制代码

在这个程序中,它将首先询问您要输入多少个数字,然后您可以按照这个数量输入您的数字,最后,它会以逆序的方式打印出这些数字。

求最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 14:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表