寻找最大和第二大数字

Dav*_*yen 4 c

编写一个输入一系列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.