#include<stdio.h>
int main()
{
int max=0,max2=0,i=1,k=1,a;
for(k=1;k<=10;k++)
{
for(i=1;i<=10;i++)
{
scanf("%d",&a);
if(max<a)
max=a;
}
printf("%d",max);
}
}
不知道之后次大值该怎么写
#include<stdio.h>
int main()
{
int max=0,max2=0,i=1,k=1,a;
for(k=1;k<=10;k++)
{
for(i=1;i<=10;i++)
{
scanf("%d",&a);
if(max<a)
max=a;
}
printf("%d",max);
}
}
不知道之后次大值该怎么写
好的,初始数可以设最大值等于次大值,然后考虑下面几种情况
1.如果最大值出现在第一个数以后,那么可以先把前面的max赋给max2,然后这个数赋给max
2.如果这个数没有出现最大值但是超越了次大值,那么把这个数赋给次大值,这样避免第一步在最大值两侧数比较大小的不足
3、如果第一个数就是最大值,那么以上两种方法就行不通(因为初始设定不会动),那么当i=2时,直接把该输入值赋给次大值后续再遵循以上两步即可