-9
給出一個整數序列作爲輸入,以-1結尾。 (也就是說,輸入整數可能是正值,負值或0.輸入信號中的-1表示輸入信號結束。)在不使用數組的情況下查找第二高的數字
-1不被視爲輸入的一部分。
查找輸入中的第二大數字。你不能使用數組。
測試用例通過,但成績是0.0
下面的代碼在你途中的價值
int main()
{
int a=-32768,b=-32768,temp=-32768;
while(1)
{
scanf("%d",&a);
if(a==-1)
break;
else if(a>0)
{
temp=b;
b=a;
}
else
{
if(a>b)
{
temp=b;
b=a;
}
else
{
temp=b;
}
}
}
printf("%d",temp);
return 0;
}
這看起來像家庭作業。到目前爲止您嘗試過什麼,哪些不起作用? –
您的代碼不適用於像這樣的非常簡單的輸入::'7 6 3 4 1 2 3 5 -1'預期的輸出'6'您的代碼輸出'3'http://ideone.com/yHacZG – user007
在你的if-else語句中。通過一個像user007發佈的例子來工作,看看發生了什麼,因爲你的語句是如何構造的。你很少進入外部'if-else'鏈的最後部分,你看到了嗎? – birryree