复制
收藏
提问
简洁
题目内容: 找出一个数列中全部的“支撑数”。 “支撑数”有这样的特征:它们不在第一个,也不在最后一个,而且比左边和右边相邻的数都大。 输入格式: 第一行输入一个整数n,表示数列中有n个整数。(3<=n<=100) 第二行输入n个整数。 输出格式: 分行输出所有的支撑数,每行输出一个支撑数(保证至少有一个)。 输入样例: 6 1 3 2 4 1 5 输出样例: 3 4 时间限制:500ms内存限制:32000kb
0秒前
全网
文档
学术
百科
知识库
回答简洁模式
深入研究一些
找出支撑数
- 遍历数列:从第二个数开始,到倒数第二个数结束,逐一检查每个数。
- 比较条件:当前数大于其左侧和右侧的数。
算法实现
- 读取输入的整数个数 和数列中的 个整数。
- 从第二个数开始遍历到倒数第二个数。
- 对于每个数,检查它是否大于其左边和右边的数。
- 如果满足条件,输出该数。
示例代码
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int numbers[n];
for (int i = 0; i < n; i++) {
scanf("%d", &numbers[i]);
}
for (int i = 1; i < n - 1; i++) {
if (numbers[i] > numbers[i - 1] && numbers[i] > numbers[i + 1]) {
printf("%d\n", numbers[i]);
}
}
return 0;
}
注意事项
你觉得结果怎么样?