编写一个输入一系列10个数字的程序,找到10个数字的2个最大值?(仅使用if和loop)
任何人都可以帮我解决问题吗?我试过但是不对.它无法列出第二大数字.任何帮助将不胜感激.
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int counter = 0, number, largest = 0,largest2=0;
for (counter = 1; counter <= 10; counter++) {
printf("Enter number (%d): ", counter);
scanf_s("%d", &number);
if (number > largest)
{
largest = number;
}
else
{
if (number > largest2)
largest2 = number;
}
}
printf("The largest number is %d\n", largest);
printf("The second largest number is %d\n", largest2);
system("pause");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Som*_*ude 13
当你得到一个新的最大数字时,旧的最大数字成为第二大数字.因此,您只需要检查最大数量和两个分配.
就像是
if (number > largest)
{
largest2 = largest;
largest = number;
}
Run Code Online (Sandbox Code Playgroud)
您仍然需要检查大于的数字largest2.