题目要求如下:
输入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.
标签:10,函数,int,对换,个数,输入
From: https://www.cnblogs.com/blueBear-19210723/p/18543706