c语言最值交换
定义一个一维整形数组num[20],输入整数n(n<=20)和一个整形数列,编写函数,查出数列中的最小值和最大值,并把他们交换位置,主函数完成输入和输出,主函数输出处理后的数列,各元素之间空一个空格。指针进行地址传递,子函数实现查找最值和最值位置交换。
输入说明
输入整数n和一个整形数列(n个数)
输出说明
格式输出:输出处理后数列
输入样例
5
2 3 1 5 8
输出样例
2 3 8 5 1
提示
使用指针作为形参,实现地址传递。仅对最值进行交换。输出数据之间空一格。
#include<stdio.h>
int main()
{
int num[20]={0};
int n,max,min,i,k,j,temp;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&num[i]);
}
max=num[0];
min=num[0];
for(i=0;i<n;i++){
if(num[i]>max){
max=num[i];
k=i;
}
if(num[i]<min){
min=num[i];
j=i;
}
}
temp=num[k];
num[k]=num[j];
num[j]=temp;
for(i=0;i<n;i++){
printf("%d ",num[i]);
}
return 0;
}