因为临近期末,就随手复习了一波。
冒泡排序差点翻车了。看来还是要小心点。
选择排序
#include <stdio.h>
void print(int a[], int n)
{
for (int i = 0; i < n; i++)
printf("%d ", a[i]);
putchar('\n');
}
int main()
{
int i, a[10];
printf("请输入十个数按选择排序排序输出:\n");
for (i = 0; i < 10; i++)
scanf("%d", &a[i]);
//选择排序核心
for (i = 0; i < 9; i++)
{
int k = i;
for (int j = i+1; j < 10; j++)
{
if (a[k] > a[j]) k =j;
}
if (a[i] != a[k]) {
int temp = a[i];
a[i] = a[k];
a[k] = temp;
}
print(a, 10);
}
return 0;
}
冒泡排序
#include <stdio.h>
void print(int a[], int n)
{
for (int i = 0; i < n; i++)
printf("%4d", a[i]);
putchar('\n');
}
int main()
{
int i, a[10];
printf("请输入十个数字按冒泡排序输出:\n");
for (i = 0; i < 10; i++)
scanf("%d", &a[i]);
//冒泡排序核心思想
for (i = 0; i < 9; i++)
{
for(int j=0;j<9;j++) //差点翻车
if (a[j] > a[j + 1])
{
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
printf("第%d趟排序:", i+1);
print(a, 10);
}
return 0;
}
好了,得去复习英语了。哈哈哈哈哈
期末考加油