2301_80003199 2023-11-02 13:48 采纳率: 60%
浏览 3
已结题

我的程序没有输出倒序,伙伴们,帮我看看有啥问题

伙伴们,帮我看看,是不是我逻辑错了,如果是我立马改,帮看下,等我有钱在充会员

img

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-11-02 17:16
    关注

    【以下回答由 GPT 生成】

    问题的代码逻辑存在一些错误。以下是错误的地方和修复方案:

    1. 在第一个for循环中,数值输入的过程中,将索引加1错误地写成了i+1,应该是i。修复代码如下:
    for (int i=0; i<8; i++)
    {
        printf("a[%d]:", i);
        scanf("%d", &a[i]);
    }
    
    1. 在第二个for循环中,交换数组元素的过程中,对数组长度的计算错误。应该是i<8/2,而不是i<4。修复代码如下:
    for (int i=0; i<8/2; i++)
    {
        int tmp = a[i];
        a[i] = a[8-i-1];
        a[8-i-1] = tmp;
    }
    
    1. 在倒序输出的部分,代码直接输出了a[8]的值,然而数组的索引是从0开始的,所以应该输出a[7]。修复代码如下:
    printf("%d", a[7]);
    

    最终修复后的代码如下:

    #include<stdio.h>
    int main()
    {
        int a[8];
        for (int i=0; i<8; i++)
        {
            printf("a[%d]:", i);
            scanf("%d", &a[i]);
        }
    
        for (int i=0; i<8/2; i++)
        {
            int tmp = a[i];
            a[i] = a[8-i-1];
            a[8-i-1] = tmp;
        }
    
        printf("%d", a[7]);
        return 0;
    }
    

    你可以把修改后的代码运行一下,看看是否能够实现按照倒序输出数组的功能。如果还有其他问题,请随时告诉我。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月11日
  • 已采纳回答 11月3日
  • 创建了问题 11月2日

悬赏问题

  • ¥15 浏览器输入ftp网站没有反应
  • ¥15 如何入门学习c语言,单片机
  • ¥15 idea 编辑语言的选择
  • ¥15 Windows下部署Asmjit
  • ¥15 请问双层规划模型的上下层目标函数不一致,是如何保证迭代收敛性的
  • ¥15 微信小程序 前端页面内容搜索
  • ¥15 cpu是如何判断当前指令已经执行完毕,然后去执行下条指令的
  • ¥15 安装visual studio2022时visualstudiosetup启动不了,闪退。问题代号0x0和0x1389
  • ¥30 java spring boot2.5.3版本websocket连不上
  • ¥15 angular js调外部链接查看pdf