想到一个很容易理解的办法,感觉其他同学写的自己理解起来有点繁琐,还是选一个适合自己的吧!

参考代码如下:

#include <stdio.h>

//输入10个元素
void input(int a[])
{
    int i;
    for (i = 0; i < 10; i++)
        scanf("%d", &a[i]);
}

//将数组输出(const表示只读)
void output(const int a[])
{
    int i;
    for (i = 0; i < 10; i++)
        printf("%d ", a[i]);
}

//处理数组
void process(int a[])
{
    int i;
    int min = a[0];
    int max = a[0];
    //1 找到数组中最大和最小的数并分别保存到max和min中
    for (i = 0; i < 10; i++)
    {
        if (min > a[i])
        {
            min = a[i];
        }
        if (max < a[i])
        {
            max = a[i];
        }
    }
    //printf("min = %d max = %d\n", min, max);

    //2 找到max和min在数组中的对应位置,与数组第一个数和最后一个数分别进行对换
    int tmp;
    for (i = 0; i < 10; i++)
    {
        if (min == a[i])
        {
            tmp = a[i];
            a[i] = a[0];
            a[0] = tmp;
        }
        if (max == a[i])
        {
            tmp = a[i];
            a[i] = a[9];
            a[9] = tmp;
        }
    }
}

int main()
{
    int a[10];

    input(a);
    process(a);
    output(a);

    return 0;
}


 

0.0分

2 人评分

  评论区

厉害!
2019-11-30 21:54:24
  • «
  • 1
  • »