FC_YSN 发表于 2020-12-11 22:05:13

交换最小值和最大值

#include<stdio.h>
int main()

{
    int n,i,temp,max,min;
    scanf("%d",&n);
        int a;
        for(i = 0;i < n;i++)
        {
                scanf("%d",a);
        }
        min = a;
        max = a;
        for(i = 0;i < n;i++)
        {
                if(a > a)
                {
                        temp = min;   //temp = a   a = aa = temp
                        min = a;
                        a = temp;
                }
        }
        for(i = 0; i < n;i++)
        {
                if(a > max)
                {
                        temp = max;   // temp = max   max = a   a = temp
                        max = a;
                        a = temp;
                }
        }
        for(i = 0;i < n;i++)
        {
                printf("%d ",a);
        }
        return 0;
}

这个是我写的,帮忙看看有什么问题,PTA一直说段错误

风过无痕1989 发表于 2020-12-11 23:05:11

本帖最后由 风过无痕1989 于 2020-12-11 23:28 编辑

我晕,你这个题目又是最小值放第1个,我的程序又得改一次
#include<stdio.h>

void main()
{
        int i, j = 0, k = 0, n, max, min, temp;
      scanf("%d", &n);
      inta;                     // 若编译器不允许变长数组,将 a 改为 a
        for (i = 0;i < n;i++)
                scanf("%d", &a);
        min = a;

        //找到最数组中最小的元素,并与第一个元素交换

        for (i = 1; i < n; i++)
        {
                if (min > a)
                {
                        min = a;
                        j = i;
                }
        }
        temp = a;      // 将最小值与第1个元素交换位置
        a = a;
        a = temp;
        max = a;   // 在最小值的位置确定后,设最后一个元素为最大值

        //找到最数组中最大的元素,并与最后一个元素交换
        for (i = 0; i < n - 1; i++)
        {
                if (max < a)
                {
                        max = a;
                        k = i;
                }
        }
        temp = a;    // 将最大值与最后1个元素交换位置
        a = a;
        a = temp;

        for (i = 0;i < n;i++)   // 输出数组
                printf("%d ", a);
        printf("\n");
}

FC_YSN 发表于 2020-12-12 10:24:49

风过无痕1989 发表于 2020-12-11 23:05
我晕,你这个题目又是最小值放第1个,我的程序又得改一次

有个测试点错了

风过无痕1989 发表于 2020-12-12 14:14:32

本帖最后由 风过无痕1989 于 2020-12-12 14:27 编辑

FC_YSN 发表于 2020-12-12 10:24
有个测试点错了

哪一个?
页: [1]
查看完整版本: 交换最小值和最大值