Write a program that inputs a series of 10 numbers and find the 2 largest values of the 10 numbers? (Only using if and 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;
}
最佳答案
当你得到一个新的最大数时,旧的最大数变成第二大数。因此,您只需要对最大数进行一次检查,然后进行两次分配。
有点像
if (number > largest)
{
largest2 = largest;
largest = number;
}
您仍然需要检查大于 largest2
的数字。
关于c - 寻找最大和第二大数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38396018/