输入10个整数存入一维数组,对其进行升序排序后输出。用冒泡法和选择法写出该程序。
时间: 2023-04-27 19:01:00 浏览: 107
冒泡排序法:
1. 输入10个整数存入一维数组。
2. 冒泡排序法的基本思想是:比较相邻的两个元素,如果前一个元素大于后一个元素,则交换这两个元素的位置。每一轮排序都会将最大的元素移到最后。
3. 用两层循环实现冒泡排序,外层循环控制排序的轮数,内层循环控制每一轮排序的次数。
4. 最后输出排序后的数组。
代码如下:
#include <stdio.h>
int main()
{
int a[10], i, j, temp;
printf("请输入10个整数:\n");
for (i = ; i < 10; i++)
{
scanf("%d", &a[i]);
}
for (i = ; i < 9; i++)
{
for (j = ; j < 9 - i; j++)
{
if (a[j] > a[j + 1])
{
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
printf("排序后的数组为:\n");
for (i = ; i < 10; i++)
{
printf("%d ", a[i]);
}
return ;
}
选择排序法:
1. 输入10个整数存入一维数组。
2. 选择排序法的基本思想是:每一轮排序都会选出最小的元素,放到数组的最前面。
3. 用两层循环实现选择排序,外层循环控制排序的轮数,内层循环控制每一轮排序的次数。
4. 最后输出排序后的数组。
代码如下:
#include <stdio.h>
int main()
{
int a[10], i, j, min, temp;
printf("请输入10个整数:\n");
for (i = ; i < 10; i++)
{
scanf("%d", &a[i]);
}
for (i = ; i < 9; i++)
{
min = i;
for (j = i + 1; j < 10; j++)
{
if (a[j] < a[min])
{
min = j;
}
}
if (min != i)
{
temp = a[i];
a[i] = a[min];
a[min] = temp;
}
}
printf("排序后的数组为:\n");
for (i = ; i < 10; i++)
{
printf("%d ", a[i]);
}
return ;
}
阅读全文