题目 1045:
[编程入门]自定义函数之整数处理
时间限制: 1s 内存限制: 128MB 提交: 33538 解决: 11945
题目描述
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。
输入格式
10个整数
输出格式
整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格)
样例输入
复制
2 1 3 4 5 6 7 8 10 9
样例输出
复制
1 2 3 4 5 6 7 8 9 10
#include<stdio.h>
//先定义出三个函数
int get(int a[10]);//输入
int deal(int a[10]);//处理
int out(int a[10]);//输出
int main(){//在主函数中定义出数组,然后调用这三个函数
int a[10];
get(a);
deal(a);
out(a);
}
int get(int a[10]){//for循环输入
int i;
for(i=0;i<10;i++){
scanf("%d",&a[i]);
}
}
int deal(int a[10]){
int max,min,i,t;//定义四个变量,max、min存放最大最小,i为循环变量,t用于交换
max=a[0];//max先等于第一个元素
min=a[9];//min先等于最后一个
for(i=0;i<10;i++){//从前面循环处理
if(a[i]>max){//挨个比较找出最大值
t=a[i];
a[i]=max;
max=t;
}
}
t=max;//最大值和最后一个数交换!!(别写进循环里)
max=a[9];
a[9]=t;
for(i=9;i>=0;i--){//从后面挨个比出最小值
if(a[i]<min){
t=min;
min=a[i];
a[i]=t;
}
}
t=min;//最小值和第一个元素交换
min=a[0];
a[0]=t;
}
int out(int a[10]){//循环输出
for(int i=0;i<10;i++){
printf("%d ",a[i]);
}
}