C语言:定义一个有10个元素的整型一维数组a,输入10个无重复数据存于该一维数组,找出其中最大数和次大数,要求不用排序实现,用一个循环实现。
时间: 2024-05-12 07:18:06 浏览: 79
c语言+从键盘输入10个无序的整数,存放在数组中,找出数组中最大值与最小值的所在的位置,并输出数组元素所在的位置与数组元素的值
5星 · 资源好评率100%
可以使用两个变量来分别记录最大数和次大数,初始值都赋为数组的第一个元素。然后循环遍历数组,如果当前元素大于最大数,则将次大数更新为原来的最大数,将最大数更新为当前元素;如果当前元素大于次大数但小于最大数,则更新次大数为当前元素。最后输出最大数和次大数即可。
下面是代码实现(C语言):
```
#include <stdio.h>
int main() {
int a[10], max, sec_max, i;
printf("请输入10个无重复数据:\n");
for(i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}
max = a[0];
sec_max = a[0];
for(i = 1; i < 10; i++) {
if(a[i] > max) {
sec_max = max;
max = a[i];
}
else if(a[i] > sec_max) {
sec_max = a[i];
}
}
printf("最大数为:%d,次大数为:%d\n", max, sec_max);
return 0;
}
```
希望可以帮到您!
阅读全文