编写程序,按升序排列。再输入一个数,要求找出该数是数组中的第几个元素,如果不在数组中,则输出找不到。 C语言
时间: 2024-02-20 14:56:37 浏览: 68
C语言程序设编写程序在数组中查找一个数要求 ⑴用顺序查找实现 ⑵用折半查找实现。 注:若有该数,则输出该数,否则输出“无此数”。
5星 · 资源好评率100%
好的,以下是代码实现:
```c
#include <stdio.h>
int main() {
int arr[100], n, i, j, temp, x, flag;
// 输入数组元素个数
printf("请输入数组元素个数:");
scanf("%d", &n);
// 输入数组元素
printf("请输入数组元素:\n");
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 升序排列
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (arr[i] > arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
// 输出排序后的数组
printf("排序后的数组为:\n");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 查找指定元素
printf("请输入要查找的元素:");
scanf("%d", &x);
flag = 0;
for (i = 0; i < n; i++) {
if (arr[i] == x) {
printf("%d 是数组中的第 %d 个元素。\n", x, i + 1);
flag = 1;
break;
}
}
if (flag == 0) {
printf("找不到该元素!\n");
}
return 0;
}
```
其中,使用了双重循环实现了冒泡排序,最后使用了一个 flag 变量来标记是否查找到了指定元素。
阅读全文