私の助けが必要です、私のプログラムはうまくいかず、値として0を表示し続けます!私のコードで何が間違っていますか?配列を使わずにCで3番目に大きい整数を見つける方法は?
プログラムでは、開始時に整数の数を入力する必要があります。
#include <stdio.h>
int main(void)
{
int num;
int largest= 0;
int secondlargest= 0;
int thirdlargest=0;
printf("Please enter the number of integers:");
scanf("%d", &num);
if(num > 2)
{
scanf("%d",&largest);
while(--num > 0)
{
int tmp;
scanf("%d",&tmp);
if(tmp>largest)
largest=tmp;
if(tmp > secondlargest && tmp < largest)
secondlargest=tmp;
if(tmp > thirdlargest && tmp < secondlargest && tmp < largest)
thirdlargest=tmp;
}
printf("The third largest number is %d\n",thirdlargest);
}
else
{
printf("There is no third largest number.");
}
return 0;
}
ここに私のコードは、上記のとおりです!私は配列を使わずに提出する必要があります!どんな助力も深く感謝します!
なぜ 'C#'タグですか? –
3つの数字が指定され、3つの同じ番号が入力された場合に印刷されるもの - その値を3番目に大きく印刷するか、0を印刷するか「3番目に大きい番号はありません」と印刷しますか? – PaulF