10.3 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数;①输入10个数;②进行处理;③输出10个数。

输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数;①输入10个数;②进行处理;③输出10个数。

#include <stdio.h>

int main(){
    int num[10];
    void input(int num[]);
    void minAndMax(int num[]);
    void output(int num[]);
    input(num);
    minAndMax(num);
    output(num);
    return 0;    
}

//input
void input(int num[]){
    printf("输入10个数: ");
    for(int i=0; i<10; i++){
    scanf("%d",&num[i]);
    }
}

//find min and max
void minAndMax(int num[]){
    int j,m,n,t,min=num[0],max=num[9];
    for(j=0; j<10; j++){
        if( min >= *(num+j)) {
            min=*(num+j);
            m=j;
            }
        
        if( max <= *(num+j)){
            max=*(num+j);
            n=j;
        }
    }
    
    {
    t=*(num+m);
    *(num+m)=*(num+0);
    *(num+0)=t;
    }

    {
    t=*(num+n);
    *(num+n)=*(num+9);
    *(num+9)=t;
    }
}
void output(int num[]){
    int i;
    printf("处理之后: ");
    for(i=0; i<10; i++)
    printf("%4d",num[i]);
    printf(" ");
}

 结果:

原文地址:https://www.cnblogs.com/Allen-win/p/7258573.html