题目要求:
输入一些数,求第二大的值(不使用数组的情况下)
分析:
在每一次读取数字的时候同时进行数值的比较和保存,这时需要两个变量max1,max2.并根据不同情况进行判断
代码如下:
#include<stdio.h>
int main(void)
{
int n;
scanf_s("%d", &n);
int max1 = 0,max2 = 0;
int x;
int flag = 1;
while ( n> 0)
{
scanf_s("%d",&x);
if (flag)
{
max1 = x;
flag = 0;
}
if (x<max1 && x>max2)
max2 = x;
else if (x > max1)
{
max2 = max1;
max1 = x;
}
n--;
}
printf("%d %d",max1,max2);
}
验证之后,结果正确。