题目:

给定五个数字进行排序。

源代码:

#include<stdio.h>
int main()
{
	/*
	八大排序
	*/
	int a[5];
	for (int i = 0; i < 5; i++) {
		scanf("%d", &a[i]);
	}
	maopao(a, 5);
	for (int i = 0; i < 5; i++) {
		printf("%d\t", a[i]);
	}
	printf("\n");
	printf("=====================\n");
	xz(a, 5);
	for (int i = 0; i < 5; i++) {
		printf("%d\t", a[i]);
	}
	printf("\n");
	printf("=====================\n");
	zj(a, 5);
	for (int i = 0; i < 5; i++) {
		printf("%d\t", a[i]);
	}
	printf("\n");
	printf("=====================\n");
	return 0;
}
//冒泡排序
int maopao(int a[],int n)
{
	for (int i = 0; i < n - 1; i++) {
		for (int j = 0; j < n - 1 - i; j++) {
			int temp;
			if (a[j] > a[j + 1]) {
				temp = a[j];
				a[j] = a[j + 1];
				a[j + 1] = temp;
			}
		}
	}
}
//选择排序
int xz(int ar[], int n)
{
	for (int i = 0; i < n - 1; i++) {
		int k = i;
		for(int j = i + 1; j < n; j++) {
			int temp;
			if (ar[j] < ar[k]) {
				temp = ar[i];
				ar[i] = ar[j];
				ar[j] = temp;
			}
		}
	}
}
//直接插入排序
int zj(int aa[], int n) 
{
	for (int i = 1; i < n; i++) {
		int t;
		t = aa[i];
		for (int j = i - 1; j >= 0 && aa[j] > t; j--) {
			aa[j + 1] = aa[j];
			aa[j] = t;
		}
	}
}

运行结果图:

在这里插入图片描述

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐