编写一个程序,输入一系列 10 个数字并找到这 10 个数字中的 2 个最大值? (仅使用if和循环)
有人可以帮我解决这个问题吗?我尝试过,但这是不对的。它无法列出第二大数字。任何帮助将不胜感激。
#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
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)