键盘输入10个数,冒泡找最大值及所在的位置,用c语言编程
时间: 2024-09-09 13:06:28 浏览: 48
任意从键盘输入10个数,用冒泡法进行排序
5星 · 资源好评率100%
在C语言中,冒泡排序算法是一种简单的排序算法,通过重复地遍历要排序的数列,比较每对相邻元素的值,如果顺序错误就交换它们的位置。这样每次遍历都会将未排序序列中的最大值“冒泡”到最后的位置。以下是一个使用C语言编写的程序示例,实现输入10个数,使用冒泡排序找到最大值及其位置:
```c
#include <stdio.h>
int main() {
int numbers[10]; // 存储输入的10个数
int i, j, maxIndex, temp;
// 读取10个数
printf("请输入10个数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &numbers[i]);
}
// 冒泡排序
for (i = 0; i < 9; i++) { // 需要进行9轮比较
for (j = 0; j < 9 - i; j++) { // 每轮比较,后面的i个数已经是排序好的
if (numbers[j] > numbers[j + 1]) {
// 交换两个数
temp = numbers[j];
numbers[j] = numbers[j + 1];
numbers[j + 1] = temp;
}
}
}
// 冒泡排序结束后,numbers[9]即为最大值,其位置为9
maxIndex = 9;
printf("最大值是:%d\n", numbers[maxIndex]);
printf("最大值的位置是:%d\n", maxIndex + 1); // 位置编号通常从1开始
return 0;
}
```
在上述程序中,我们首先定义了一个大小为10的整型数组来存储用户输入的数值。然后,我们使用两层嵌套的`for`循环来实现冒泡排序。每次内层循环中,如果发现前一个元素比后一个元素大,我们就交换它们的位置。经过9轮比较后,数组最后的元素即为最大的数。由于数组下标是从0开始的,因此在输出最大值的位置时需要将位置编号加1。
阅读全文