我無法在我的程序中找到正確的輸出,以找出三個數字中的第二大數字。 (我知道這是非常基本的,但我剛剛開始學習C,所以任何幫助和提示將不勝感激!)在我的程序中,我得到了三個數字中的最大值和最小值(但沒有問題),但我一直在第二大的答案204。 (這是錯誤的!)這是我的代碼,對不起,如果有任何可怕的錯誤,就像我說的,我是新手!非常感謝! :)我一直得到不正確的輸出爲我的第二大號碼程序(C程序)
//include the libraries
#include <stdio.h>
#include <conio.h>
//include the main function
int main()
{
//declare the variables
long a,b,c,min,max,secmax;
//read the variables
printf("a=");scanf("%ld",&a);
printf("b=");scanf("%ld",&b);
printf("c=");scanf("%ld",&c);
// Find the min of the 3 numbers.
if(b>a && c>a)
{
min=a;
}
else
{
min==b || min==c;
}
if(a>b && c>b)
{
min=b;
}
else
{
min==a || min==c;
}
if(a>c && b>c)
{
min=c;
}
else
{
min==a || min==b;
}
// Find the max of the 3 numbers.
if(b>a && b>c)
{
max=b;
}
else
{
max==a || max==c;
}
if(a>b && a>c)
{
max=a;
}
else
{
max==b || max==c;
}
if(c>a && c>a)
{
max=c;
}
else
{
max==a || max==b;
}
//Find the second largest number
if(a!=max && a!=min)
{
a=secmax;
}
else
{
b==secmax || c==secmax;
}
if(b!=max && b!=min)
{
b=secmax;
}
else
{
a==secmax || c==secmax;
}
if(c!=max && c!=min)
{
c=secmax;
}
else
{
b==secmax || a==secmax;
}
//print the output
printf("\nThe maximum is %d\n",max);
printf("\nThe second largest number is %d\n",secmax);
printf("\nThe minimum is %d\n",min);
getch();
return 1;
}
什麼輸入你給它?此外,這些代碼塊:'else { min == b ||分鐘==℃; 「對我沒有意義。 – nhgrif
我輸入a = 3,b = 5和c = 8。好的,我應該把它們全部拿出來嗎? :) – Eleanor
基於'a = 3','b = 5','c = 8',它告訴你'204'是第二大的數字......? – nhgrif