gpt4 book ai didi

c - 我的第二大数字程序(C 程序)的输出一直不正确

转载 作者:太空宇宙 更新时间:2023-11-04 03:52:27 25 4
gpt4 key购买 nike

我无法在我的程序中获得正确的输出以找出三个数字中的第二大数字。 (我知道这很基础,但我刚刚开始学习 C,所以任何帮助和提示将不胜感激!)在我的程序中,我得到了三个数字的最大值和最小值(没问题)但我不断得到第二大数字的答案 204。 (这是错误的!)这是我的代码,如果有任何可怕的错误,我深表歉意,就像我说的,我是新手!太感谢了! :)

//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;
}

最佳答案

赋值是这样的:

...
secmax = a;
...

这行代码将a赋值给secmax。如果 secmax 不包含任何内容(程序员术语中包含“垃圾”),则在执行此行后它将等于 a。这就是您想要的。


a = secmax;

这行代码不好 - 它的作用与您想要的相反。这可能是一个错字。


您的代码还有其他问题,但这个似乎是最重要的问题;您的代码有可能在修复后正常工作。

关于c - 我的第二大数字程序(C 程序)的输出一直不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19694153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com