问题 B: C语言程序设计教程(第三版)课后习题10.3
时间限制: 1 Sec 内存限制: 128 MB
提交: 4273 解决: 1580
[提交][状态]
题目描述
输入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>
long long a[15] = {0};
long long max = -1e12, min = 1e12;
int mi = 0, mii = 0;
void input() {
for (int i = 0; i < 10; i++) {
scanf("%d", &a[i]);
if (a[i] > max) {
max = a[i];
mi = i;
}
if (a[i] < min) {
min = a[i];
mii = i;
}
}
}
void jh() {
int temp = a[9];//这里很有病要先将最大数与最后数交换,再将最小数与第一个数交换才行
a[9] = a[mi];
a[mi] = temp;
temp = a[0];
a[0] = a[mii];
a[mii] = temp;
}
void print() {
for (int i = 0; i < 10; i++)
printf("%d ", a[i]);
printf("\n");
}
int main() {
input();
jh();
print();
}