C小题目:输入10个整数,将其中最小的数与第1个数对换,将最大的数与最后一个对换。要求写3个函数:(1)输入10个数;(2)进行处理;(3)输出10个数。

题目要求如下:
输入10个整数,将其中最小的数与第1个数对换,将最大的数与最后一个对换。
要求写3个函数:(1)输入10个数;(2)进行处理;(3)输出10个数。
提示:
(1)定义void input(int *p)函数,用来输入10个整数,存放到指针变量p所指向的数组中;
(2)定义void max_min_value(int *p)函数,在指针变量p所指向的数组中,找出最大数、最小数,然后最小数与第1个数对换,将最大数与最后一个对换;
(3)定义void output(int *p)函数,输出指针变量所指向的数组的每个元素;
(4)在main函数中定义一个一维数组a,调用input函数,传递数组a,调用max_min_value函数,传递数组a,调用output函数,输出所有数组元素。
代码如下:
#include <stdio.h>
void input(int *p){
    int i;
    for(i=0;i<10;i++){
        printf("请输入p[%d]=",i);
        scanf("%d",p++);
    }
}

void max_min_value(int *p){
    int i,max=*(p+0),min=*(p+0);
    for(i=0;i<10;i++){
        if(max < *(p+i)){
            max = *(p+i);
        }
        if(*(p+i) < min){
            min = *(p+i);
        }
    }
    *(p+0) = min;
    *(p+9) = max;

    printf("max = %d\n",max);
    printf("min = %d\n",min);
}

void output(int *p){
    int i;
    printf("结果是:");
    for(i=0;i<10;i++){
        printf("%d ",*(p+i));
    }
}

int main() {

    int a[10];
    input(a);
    max_min_value(a);
    output(a);

    return 0;
}
结果如下:
请输入p[0]=9
请输入p[1]=5
请输入p[2]=6
请输入p[3]=3
请输入p[4]=7
请输入p[5]=8
请输入p[6]=4
请输入p[7]=2
请输入p[8]=1
请输入p[9]=8
max = 9
min = 1
结果是:1 5 6 3 7 8 4 2 1 9
Process returned 0 (0x0)   execution time : 11.545 s
Press any key to continue.
posted @ 2024-11-13 13:30  昵-称  阅读(217)  评论(0)    收藏  举报