题目描述
由键盘任意输入10个数,将最大数调到最前面,最小数调到最后面。
输入
任意10个数
输出
数据调整后的10个数。
样例输入 复制
0 1 2 3 4 5 6 7 8 9
样例输出 复制
9 1 2 3 4 5 6 7 8 0
解析:这个题难度较高,但是只要滤清思路就好。这个题的提示太长所以我就按我的思路讲了。首先声明一个有十个元素的数组,然后分别去找最大值最小值和他们的下标。要注意顺序我先找的是最小值,找到了就进行替换,然后相同方法找最大值,然后输出数组就好了。还有注意的一个点 是数组最后的一个元素后边没有空格,在我的代码里都会展示。(有点长请耐心看,如有不对欢迎指正)
#include <stdio.h>
int main()
{
int a[10];
int i;
for(i=0;i<10;i++){
scanf("%d",&a[i]);
}
int x=0;
int max=a[0];
for(i=1;i<10;i++){
if(a[i]>max){
max=a[i];
x=i;
}
}
int m=a[0];
a[0]=a[x];
a[x]=m;
int y=9;
int min=a[9];
for(i=1;i<9;i++){
if(a[i]<min){
min=a[i];
y=i;
}
}
int n=a[9];
a[9]=a[y];
a[y]=n;
for(i=0;i<10;i++){
printf("%d",a[i]);
if(i==9){
break;
}
printf(" ");
}
return 0;
}