編寫一個輸入一系列10個數字並查找10個數字的2個最大值的程序? (只使用如果和循環)查找最大和最大的數字
有人可以幫我解決這個問題嗎?我試圖但不對。它不能列出第二大數字。任何幫助將不勝感激。
#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;
}
這是功課? hehehe –
順便說一句,你應該使用「INT_MIN」爲最大的初始化 - 如果我會寫-10,-11,..作爲輸入? 從零開始,你會得到0作爲最大的,但那不是真的:) 看看常量,例如。那裏https://en.wikibooks.org/wiki/C_Programming/C_Reference/limits.h – xxxvodnikxxx
您如何預期重複值被處理?例如,您希望輸入「9 9 10 10 10 10 10 10 10 10 10」的輸出是什麼?根據定義,第二大的值是9或10. – Peter