题目
输入10个整数,将其中最小的值与第一个数对换,把最大值与最后一个数对换。
要求用3个函数,分别实现输入10个数,进行处理,输出10个数。用指针完成。
输入
输入10个整数
输出
处理好后的10个数
实例输入
1 2 3 9 8 7 0 4 5 6
实例输出
0 2 3 6 8 7 1 4 5 9
代码块
#include <stdio.h>
void input(int *num){
int *p = num;
for(int i = 0; i<10; i++)
scanf("%d",p++);
p = NULL;
}
void conduct(int *num){
int *min,*max,*q;
min = max = q = num;
for(int i=0 ;i <10 ;i++,q++){
if(*min>*q){
min = q;
}
if(*max<*q){
max = q;
}
}
--q;
*min = *min ^ *num;
*num = *min ^ *num;
*min = *min ^ *num;
*max = *max ^ *q;
*q = *max ^ *q;
*max = *max ^ *q;
}
void out(int *num){
for(int i = 0; i<10; i++)
printf("%d ",*num++);
}
int main(){
int num[10];
input(num);
conduct(num);
out(num);
return 0;
}