编写一个C语言程序,能在一个从小到大排序的数组里查找比给定整数小的、下标最大的元素,找到则输出该元素,找不到则输出“没有符合要求的数据”信息。整数从键盘输入
时间: 2024-02-06 11:10:13 浏览: 24
以下是一个实现该功能的C语言程序:
```c
#include <stdio.h>
int main() {
int arr[10] = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20};
int len = sizeof(arr) / sizeof(int);
int num, i, index;
printf("请输入一个整数:");
scanf("%d", &num);
for (i = 0; i < len; i++) {
if (arr[i] < num) {
index = i;
} else {
break;
}
}
if (index >= 0) {
printf("比%d小的下标最大的元素是%d\n", num, arr[index]);
} else {
printf("没有符合要求的数据\n");
}
return 0;
}
```
程序中,我们先定义了一个从小到大排序的数组 `arr`,然后从键盘输入一个整数 `num`。接着,我们使用一个 `for` 循环遍历数组,找到第一个比 `num` 大的元素,记录下其前一个元素的下标,即为比 `num` 小的下标最大的元素的下标。最后,根据记录的下标输出结果。
需要注意的是,如果输入的整数比数组中的最小值还要小,那么 `index` 的值将一直为初始值 0,此时应该输出“没有符合要求的数据”信息。