编写C语言程序,将任意一串数组按升序排列。再输入一个数,要求找出该数是数组中的第几个元素,如果不在数组中,则输出找不到
时间: 2024-03-20 16:39:04 浏览: 60
好的,根据您的要求,我来为您编写一个C语言程序:
```
#include <stdio.h>
void sort(int arr[], int len); // 声明排序函数
int main()
{
int arr[100], len, i, target, pos = -1;
// 输入数组长度和元素
printf("请输入数组长度:");
scanf("%d", &len);
printf("请输入%d个整数:", len);
for (i = 0; i < len; i++) {
scanf("%d", &arr[i]);
}
// 排序
sort(arr, len);
// 输入目标数
printf("请输入目标数:");
scanf("%d", &target);
// 在排序后的数组中查找目标数
for (i = 0; i < len; i++) {
if (target == arr[i]) {
pos = i + 1;
break;
}
}
// 输出结果
if (pos != -1) {
printf("%d是数组中的第%d个元素\n", target, pos);
} else {
printf("找不到%d\n", target);
}
return 0;
}
void sort(int arr[], int len)
{
int i, j, temp;
for (i = 0; i < len - 1; i++) {
for (j = i + 1; j < len; j++) {
if (arr[i] > arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
```
上述程序中,sort()函数用于对数组进行升序排列,主函数中先输入数组元素并进行排序,然后输入目标数并在排序后的数组中查找,最后输出结果。如果目标数在数组中,则输出其在数组中的位置;否则输出找不到。
阅读全文