鱼C论坛

 找回密码
 立即注册
查看: 982|回复: 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的值。以下是修复后的代码:
#include <stdio.h>int main(){    int a, i = 0, j;    int numbers[100]; // 假设最多输入100个数        while (1)    {        scanf("%d", &a);        if (a == 0) // 假设输入0表示结束输入            break;                numbers[i] = a;        i++;    }        for (j = i - 1; j >= 0; j--)    {        printf("%d ", numbers[j]);    }        return 0;}
在修复的代码中,我们使用一个数组numbers来保存输入的数字。当输入0时,表示输入结束,然后使用for循环逆序输出数组中的数字。注意,我们将i的初始值设为0,而不是1,是因为数组的下标从0开始。

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

使用道具 举报

发表于 2023-12-15 21:12:41 | 显示全部楼层
这个C语言程序在输入部分是一个无限循环,因此程序会持续接收输入,直到手动停止,否则它将一直运行下去。此外,输出部分的代码没有在输入循环结束后写入,这也是程序不会输出任何内容的原因。如果您想在输入特定的数之后停止接收,并输出逆序的数值,那么您可以尝试以下修改后的代码:
#include<stdio.h>
int main()
{
    int a[100000],n,i;
    scanf("%d",&n); // 输入你要输入的数字的数量
    for(i=0;i<n;i++){
        scanf("%d",&a[i]);
    }
    for(i=n-1;i>0;i--){
        printf("%d ",a[i]);
    }
    printf("%d ",a[0]);
    return 0;
}
在这个程序中,它将首先询问您要输入多少个数字,然后您可以按照这个数量输入您的数字,最后,它会以逆序的方式打印出这些数字。

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 12:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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