c语言:(指针)输入10个整数,最小的数与第一个数交换,最后一个数与最大的数交换(用函数的方式)
###输入10个整数
###进行处理
###输出10个整数
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int main(){
int intput(int *p);
int output(int *p);
int fun(int *p);
int a[10];
int *p;
p = a;
intput(p);
output(p);
fun(p);
output(p);
}
int intput(int *p){ //输入函数
for(int i=0;i<10;i++,p++){
printf("输入第%d个数字\n",i+1);
scanf("%d",p);
}
}
int output(int *p){ //输出函数
for(int i=0;i<10;i++,p++){
printf("%d",*p);
}
printf("\n");
}
int fun(int *p){ //交换函数
int *q = p; //p地址交给q,下面同理
int *max = q;
int *min = q;
int temp;
for(int i=0;i<10;i++,q++){
if(*q > *max){
max = q; //q地址给max
}
if(*q < *min){
min = q; //q地址给min
}
temp = *max; //数值进行交换
*max = *q;
*q = temp;
temp = *min;
*min = *q;
*q = temp;
}
}