大神在哪里.要求是c编写,不是c++第二大的数字Time Limit:1000MS Memory Limit:65536KTotal Submit:176 Accepted:96Description给定一个数字序列,请给出序列中第二大的数字.Input第一行为N(1〈N〈10000),表示序列
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/16 12:52:14
大神在哪里.要求是c编写,不是c++第二大的数字Time Limit:1000MS Memory Limit:65536KTotal Submit:176 Accepted:96Description给定一个数字序列,请给出序列中第二大的数字.Input第一行为N(1〈N〈10000),表示序列
大神在哪里.要求是c编写,不是c++
第二大的数字
Time Limit:1000MS Memory Limit:65536K
Total Submit:176
Accepted:96
Description
给定一个数字序列,请给出序列中第二大的数字.
Input
第一行为N(1〈N〈10000),表示序列的数字个数,接下为N行,每行一个数字.
Output
输出一行,为序列中第二大的数字.
Sample Input
2
1
2
Sample Output
1
Source
[Submit] [Status] [Go Back
大神在哪里.要求是c编写,不是c++第二大的数字Time Limit:1000MS Memory Limit:65536KTotal Submit:176 Accepted:96Description给定一个数字序列,请给出序列中第二大的数字.Input第一行为N(1〈N〈10000),表示序列
我水平不行了.但愿对你有启发.
#include
int main()
{
int i = 0;
int rows = 0;
int number = 0;
int firstMax = 0;
int secondMax = 0;
int flag = -1;
while((rows = 10000))
{
printf("Input A Number(1 < N < 10000):");
scanf("%d",&rows);
}
printf("Now Input %d Numbers :\n",rows);
for(i = 0; i < rows; i++)
{
scanf("%d",&number);
if(0 == i)
{
firstMax = number;
}
if(-1 == flag)
{
if(number > firstMax)
{
secondMax = firstMax;
firstMax = number;
flag++;
}
else if(number < firstMax)
{
secondMax = number;
flag++;
}
}
if(-1 != flag)
{
if(number > secondMax)
{
if(number > firstMax)
{
secondMax = firstMax; /*Notice This*/
firstMax = number; /*Notice This*/
}
else if(number < firstMax)
{
secondMax = number;
}
}
}
}
if(-1 != flag)
{
printf("The SecondMax is %d",secondMax);
}
else
{
printf("There is no SecondMax Value");
}
return 0;
}