编写一C语言程序,能在一个从小到大排序的数组里查找比给定整数小的、下标最大的元素,找到则输出该元素,找不到则输出“没有符合要求的数据”信息。
时间: 2023-07-16 21:17:34 浏览: 93
以下是一个实现该功能的 C 语言程序:
```c
#include <stdio.h>
int main() {
int n; // 数组长度
printf("请输入数组长度:");
scanf("%d", &n);
int arr[n]; // 数组
printf("请输入数组元素(从小到大排列):");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
int x; // 给定整数
printf("请输入给定整数:");
scanf("%d", &x);
int maxIndex = -1; // 下标最大的符合要求的元素下标
for (int i = 0; i < n; i++) {
if (arr[i] < x) {
maxIndex = i;
}
}
if (maxIndex == -1) {
printf("没有符合要求的数据\n");
} else {
printf("符合要求的元素为:%d\n", arr[maxIndex]);
}
return 0;
}
```
程序先要求输入数组长度和数组元素,并将数组按从小到大的顺序存储在 `arr` 数组中。然后要求输入给定整数 `x`,接着使用一个循环遍历数组元素,找到最后一个小于 `x` 的元素,记录其下标。如果找不到符合要求的元素,则输出相应信息;否则输出符合要求的元素。
阅读全文