yggs11 2022-03-04 11:39 采纳率: 75%
浏览 918
已结题

先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列,问题在哪

问题遇到的现象和发生背景 问题在哪
问题相关代码,请勿粘贴截图 #include <stdio.h>

输入格式: 输入在第一行中给出一个正整数N(≤10),第二行给出N个整数,数字间以空格分隔。 输出格式: 在一行中顺序输出交换后的序列,每个整数后跟一个空格。
int main()
{
int i, N, a[10], max, min, t;
scanf("%d\n", &N);
for (i = 0; i < N; i++)
scanf("%d ", &a[i]);
min = a[0], max = a[N - 1];
for (i= 1; i< N; i++)
if (a[i] < min) a[i] = min, a[0] = t, a[0] = a[i], a[i] = t;
for (i = 0; i < N - 1; i++)
if (a[i] > max) a[i] = max, a[N - 1] = i, a[N - 1] = a[i], a[i] = t;
for (int i = 0; i < N; i++)
printf("%d ", a[i]);
return 0;
}

运行结果及报错内容 结果是0 0 0 0 4
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

1条回答 默认 最新

  • 加油吧,小杜 2022-03-04 14:43
    关注

    你这个交换有问题,给你更改下
    代码:

    int i, N, a[10], max, min, t=0;
        scanf("%d\n", &N);
        for (i = 0; i < N; i++)
        {
            scanf("%d", &a[i]);
        }   
        min = a[0], max = a[N - 1];
        for (i = 0; i < N; i++)
        {
            if (a[i] < min)
            {
                min = a[i];  //记录最小值
                int temp = a[0];
                a[0] = a[i];
                a[i] = temp;
                /*a[i] = min;
                a[0] = t;
                a[0] = a[i];
                a[i] = t;*/
            }
        }  
        
        for (i = 0; i < N - 1; i++)
        {
            if (a[i] > max)
            {
                max = a[i];   //记录最大值
                int temp = a[N-1];
                a[N - 1] = a[i];
                a[i] = temp;
                /* a[i] = max;
                 a[N - 1] = i;
                 a[N - 1] = a[i];
                 a[i] = t;*/
            }
        }      
        for (int i = 0; i < N; i++)
        {
            printf("%d ", a[i]);
        }
            
        return 0;
    
    

    效果:

    img


    有用望采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加