实现简单排序
输入:
程序输入10个以空格分隔的整数(1~1000)
输出:
输出为一行,包括排序后的 1010 个输入整数,每两个整数之间有一个空格,最后一个整数后面没有空格
(1) 冒泡排序
#include <stdio.h>
int main() {
int n = 10;
int numbers[10];
int i;
int swapped=0;
int j;
for (i = 0; i < n; i++) {
scanf("%d", &numbers[i]);
}
for(j=0;j<n;j++){
for(i=0;i<n-1-j;i++){
if(numbers[i]<numbers[i+1]){
int temp;
temp=numbers[i];
numbers[i]=numbers[i+1];
numbers[i+1]=temp;
}
}
}
for(j=0;j<n;j++){
printf("%d",numbers[j]);
if(j!=9){
printf(" ");
}
}
return 0;
}
(2) 选择排序
#include <stdio.h>
int main() {
int n = 10;
int max;
int numbers[10];
int i;
int temp=0;
int j;
for (i = 0; i < n; i++) {
scanf("%d", &numbers[i]);
}
for(i=0;i<n-1;i++)
{
max=i;
for(j=i+1;j<n;j++)
{
if(numbers[j]>numbers[max])
max=j;
}
if(max!=j)
{
temp=numbers[i];
numbers[i]=numbers[max];
numbers[max]=temp;
}
}
for(j=0;j<n;j++){
printf("%d",numbers[j]);
if(j!=9){
printf(" ");
}
}
return 0;
}