代码:
#include "stdio.h"
#include "windows.h"
int main(){
//先定义一个数组a,变量i,j和临时变量temp(用来存放临时数据)
int a[5],i,j,temp;
printf("Input Five Number:\n");
//利用for循环将用户输入的数据存放进数组a中
for(i=0;i<5;i++){
scanf("%d",&a[i]);
}
//利用for循环打印出用户所输入的所有数据
printf("原数组为:\n");
for(i=0;i<5;i++){
printf("%d ",a[i]);
}
//利用冒泡算法对数组中数据进行升序排序
//外层循环控制轮数
for(i=0;i<5-1;i++){
//内层循环控制次数
for(j=0;j<5-i-1;j++){
//如果前一个数据比后一个数据要大,则先把a[j]中的数据放进临时变量temp中 ,此时空出来了一个放数据的位置 a[j]
if(a[j]>a[j+1]){
temp=a[j];
//现在再把后一个a[j+1]的数据放到a[j]中 ,此时a[j+1]的位置就空出来了
a[j]=a[j+1];
//再把之前存放在临时变量temp中的数据放到a[j+1]中,此时就达到了数据的交换效果
a[j+1]=temp;
}
}
}
printf("\n按照升序排序后的数组为:\n");
//利用循环将排序后的数据进行升序输出
for(i=0;i<5;i++){
printf("%d ",a[i]);
}
//利用冒泡算法对数组中数据进行降序排序
//外层循环控制轮数
for(i=0;i<5-1;i++){
//内层循环控制次数
for(j=0;j<5-i-1;j++){
//反之前一个数据比后一个数据要小,则先把a[j]中的数据放进临时变量temp中 ,此时空出来了一个放数据的位置 a[j]
if(a[j]<a[j+1]){
temp=a[j];
//现在再把后一个a[j+1]的数据放到a[j]中 ,此时a[j+1]的位置就空出来了
a[j]=a[j+1];
//再把之前存放在临时变量temp中的数据放到a[j+1]中,此时就达到了数据的交换效果
a[j+1]=temp;
}
}
}
printf("\n按照降序排序后的数组为:\n");
//利用循环将排序后的数据进行降序输出
for(i=0;i<5;i++){
printf("%d ",a[i]);
}
system("pause");
}
输出结果: