3、输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数:1)输入10个数;2)进行处理;3)输出10个数。
时间: 2023-05-02 16:04:04 浏览: 109
这道题目的意思是:输入10个整数,找出其中最小的数与第一个数交换,找出其中最大的数与最后一个数交换。写三个函数:1)输入10个数;2)处理;3)输出10个数。
解答:
1)输入10个数函数:
void input(int arr[10]){
for(int i=0;i<10;i++){
scanf("%d",&arr[i]);
}
}
2)处理函数:
void process(int arr[10]){
int min_index=0,max_index=0,temp;
for(int i=1;i<10;i++){
if(arr[i]<arr[min_index]){
min_index=i;
}
if(arr[i]>arr[max_index]){
max_index=i;
}
}
temp=arr[min_index];
arr[min_index]=arr[0];
arr[0]=temp;
temp=arr[max_index];
arr[max_index]=arr[9];
arr[9]=temp;
}
3)输出10个数函数:
void output(int arr[10]){
for(int i=0;i<10;i++){
printf("%d ",arr[i]);
}
}
完整代码如下:
#include <stdio.h>
void input(int arr[10]){
for(int i=0;i<10;i++){
scanf("%d",&arr[i]);
}
}
void process(int arr[10]){
int min_index=0,max_index=0,temp;
for(int i=1;i<10;i++){
if(arr[i]<arr[min_index]){
min_index=i;
}
if(arr[i]>arr[max_index]){
max_index=i;
}
}
temp=arr[min_index];
arr[min_index]=arr[0];
arr[0]=temp;
temp=arr[max_index];
arr[max_index]=arr[9];
arr[9]=temp;
}
void output(int arr[10]){
for(int i=0;i<10;i++){
printf("%d ",arr[i]);
}
}
int main(){
int arr[10];
input(arr);
process(arr);
output(arr);
return 0;
}
阅读全文