输入一个(10,100)上的整数 n,在序列(67,32,9,87,75,90,16.53,41,24)中搜索出 不大于n的最大整数。 如果输入数据无效,输出 ERROR用c语言编写
时间: 2023-10-08 18:05:24 浏览: 128
以下是使用 C 语言编写的程序:
```c
#include <stdio.h>
int main() {
int n, arr[] = {67, 32, 9, 87, 75, 90, 16, 53, 41, 24};
int i, max = -1;
printf("请输入一个 (10,100) 范围内的整数:");
if (scanf("%d", &n) != 1 || n <= 10 || n >= 100) {
printf("ERROR\n");
return 0;
}
for (i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {
if (arr[i] <= n && arr[i] > max) {
max = arr[i];
}
}
if (max == -1) {
printf("不存在不大于 %d 的整数\n", n);
} else {
printf("不大于 %d 的最大整数为:%d\n", n, max);
}
return 0;
}
```
程序首先要求用户输入一个整数,并进行有效性检查,如果无效则输出 `ERROR`。然后程序遍历给定的序列,找出不大于输入整数的最大整数。如果找到了,输出该整数,否则输出提示信息。
相关问题
输入一个(10,100)上的整数 n,在序列(67,32,9,87,75,90,16.53,41,24)中搜索出 不大于n的最大整数。 如果输入数据无效,输出 ERROR™
代码如下:
```python
n = int(input())
if 10 < n < 100:
arr = [67, 32, 9, 87, 75, 90, 16, 53, 41, 24]
arr.sort(reverse=True)
for num in arr:
if num <= n:
print(num)
break
else:
print("ERROR™")
```
输入示例1:
```
56
```
输出示例1:
```
41
```
输入示例2:
```
1000
```
输出示例2:
```
ERROR™
```
输入一个(10,100)上的整数 n,在序列(67,32,9,87,75,90,16.53,41,24)中搜索出 不大于n的最大整数。 如果输入数据无效,输出 ERROR™
好的,我来为您编写代码实现该功能。以下是 Python 代码实现:
```python
def search_largest_integer(n):
if not isinstance(n, int) or n < 10 or n > 100:
return "ERROR™"
seq = [67, 32, 9, 87, 75, 90, 16, 53, 41, 24]
seq.sort(reverse=True)
for num in seq:
if num <= n:
return num
return "ERROR™"
```
以上代码中,我们首先判断输入的 n 是否为整数且在指定范围内,如果不满足则直接返回 "ERROR™"。接着,我们定义了一个序列 seq,并对其进行排序(从大到小)。然后,我们遍历序列中的每个数,如果找到不大于 n 的最大整数,则返回该数;如果遍历完整个序列仍未找到符合要求的数,则返回 "ERROR™"。
阅读全文