1096: C语言程序设计教程(第三版)课后习题10.3
题目描述
输入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>
#include <stdlib.h>
int main()
{
int a[10];
int i,j,n,m;
int b[10];
for(i=0;i<10;i++)///存放10个整数进入a数组
{
scanf("%d",&a[i]);
}
for(i=0;i<10;i++)///copy a数组给b数组
{
b[i]=a[i];
}
for(i=1;i<10;i++)///a数组冒泡排序
{
for(j=0;j<10-i;j++)
{
if(a[j]>a[j+1])
{
n=a[j];
a[j]=a[j+1];
a[j+1]=n;
}
}
}
for(i=0;i<10;i++)///遍历所有整数
{
if(b[i]==a[0])///寻找b数组中最小的整数和b[0]调换
{
m=b[i];
b[i]=b[0];
b[0]=m;
}
if(b[i]==a[9])///寻找b数组中最大的整数和b[9]调换
{
m=b[i];
b[i]=b[9];
b[9]=m;
}
}
for(i=0;i<10;i++)///输出b数组中所有整数
{
printf("%d ",b[i]);
}
printf("\n");
}