C语言环境中,用冒泡法对输入的10个数进行降序排列并存放到数组中,将排序前后的数组输出,然后输入一个数,查找是否在数组中,若在打印出该数在数组中的下标。
时间: 2024-12-20 12:16:56 浏览: 5
在C语言中,你可以通过以下几个步骤来实现这个功能:
1. 首先,创建一个包含10个元素的整型数组,并提示用户输入这10个数字。
```c
#include <stdio.h>
#define NUM_ITEMS 10
int main() {
int numbers[NUM_ITEMS], i, j;
printf("请输入10个整数:\n");
for (i = 0; i < NUM_ITEMS; i++) {
scanf("%d", &numbers[i]);
}
```
2. 使用冒泡排序算法对数组进行降序排序。从第一个元素开始,比较相邻的两个元素,如果前面的元素小于后面的,就交换它们的位置。这个过程会持续到整个数组有序为止。
```c
for (i = 0; i < NUM_ITEMS - 1; i++) {
for (j = 0; j < NUM_ITEMS - 1 - i; j++) {
if (numbers[j] < numbers[j + 1]) {
// 交换元素位置
int temp = numbers[j];
numbers[j] = numbers[j + 1];
numbers[j + 1] = temp;
}
}
}
```
3. 输出排序前后的数组内容。
```c
printf("排序后的数组:\n");
for (i = 0; i < NUM_ITEMS; i++) {
printf("%d ", numbers[i]);
}
printf("\n");
4. 接下来,让用户输入一个数,检查它是否存在于已排序的数组中。可以使用循环遍历数组并与输入的数比较。
```c
int search_num, index = -1;
printf("请输入一个数字查询其是否存在:");
scanf("%d", &search_num);
for (i = 0; i < NUM_ITEMS; i++) {
if (numbers[i] == search_num) {
index = i;
break;
}
}
5. 如果找到了,打印出该数的下标;如果没有找到,则输出“未找到”或相应的提示信息。
```c
if (index != -1) {
printf("数字 %d 存在于数组中,下标为 %d\n", search_num, index);
} else {
printf("数字 %d 未在数组中。\n", search_num);
}
return 0;
}
```
阅读全文