用C编写一个程序从用户输入的四个整数中找出最大和最小值

供稿:hz-xin.com     日期:2025-01-14
c语言:用户输入的四个数中找出最大值和最小值 ,求答案!!

#include
void main()
{
int a,b,c,d,max,min;
printf("请输入四个数:
");
scanf("%d%d%d%d",&a,&b,&c,&d);

max = (a>b)?a:b;
max = (max>c)?max:c;
max = (max>d)?max:d;
printf("max is %d
",max);

min = (a<b)?a:b;
min= (min<c)?min:c;
min= (min<d)?min:d;
printf("min is %d
",min);

}

#include
int main(void)
{int a,b,c,d,max1,min1,max2,min2;
printf("请输入四位整数:");
scanf("%d %d %d %d",&a,&b,&c,&d);
if(a>b)
{max1=a;min1=b;}
else
{max1=b;min1=a;}
if(c>d)
{max2=c;min2=d;}
else
{max2=d;min2=c;}
if(max1<max2)
max1=max2;
if(min1>min2)
min1=min2;
printf("最大值是%d
",max1);
printf("最小值是%d
",min1);
return 0;
}

还好,只有四个整数,若更多的话那可就麻烦了,这个最好用数组来处理。
楼上的固然正确,不过第八行不要这样子写:max=min=a;最好分开来写成:max=a;min=a; 要养成良好的编程习惯。
对于这个题而言,我会这样写(不用数组):

#include<stdio.h>
main()
{
int a,b,c,d,max,min;
printf("input 4 numbers:");
scanf("%d%d%d%d",&a,&b,&c,&d);
max=a>(b>(c>d?c:d)?b:(c>d?c:d))?a:(b>(c>d?c:d)?b:(c>d?c:d));
min=a<(b<(c<d?c:d)?b:(c<d?c:d))?a:(b<(c<d?c:d)?b:(c<d?c:d));
printf("max=%d\nmin=%d",max,min);
}

楼主理解一下看看,其实max、min两句都是三目运算的条件表达式嵌套使用,相当于if语句,呵呵!

#include<stdio.h>

int main(void)

{ int a,b,c,d,max1,min1,max2,min2;

printf("请输入四位整数:");

scanf("%d %d %d %d",&a,&b,&c,&d);

if(a>b)

{max1=a;min1=b;}

else

{max1=b;min1=a;}

if(c>d)

{max2=c;min2=d;}

else

{max2=d;min2=c;}

if(max1<max2)

max1=max2;

if(min1>min2)

min1=min2;

printf("最大值是%d
",max1);

printf("最小值是%d
",min1);

return 0;

}




楼上的计算量都比较大吧。
我个人觉的a b c d 四个数

先 a 与 b 比较 得到 把其较小值 与 其 较大值存于变量中(min1 max1)
再 c 与 d 比较 得到 把其较小值 与 其 较大值存于变量中(min2 max2)
再 min1 与 min2 比较得到最小值
再 max1 与 max2 比较得到最大值

只要比较四次就可得到结果。
(以最坏运算次数比较)
如有不当,望能指出。谢谢

#include<stdio.h>
void main()
{
int a,b,c,d;
int max,min;
printf("输入4个整数:");
scanf("%d%d%d%d",&a,&b,&c,&d);
max=min=a;
if(b>max)max=b;
if(c>max)max=c;
if(d>max)max=d;

if(b<min)min=b;
if(c<min)min=c;
if(d<min)min=d;

printf("4个数中最大值为:%d 最小值为%d\n",max,min);
}

运行结果:
输入4个整数:34 2 32 1
4个数中最大值为:34 最小值为1
Press any key to continue

还好,只有四个整数,若更多的话那可就麻烦了,这个最好用数组来处理。
楼上的固然正确,不过第八行不要这样子写:max=min=a;最好分开来写成:max=a;min=a;
要养成良好的编程习惯。
对于这个题而言,我会这样写(不用数组):
#include<stdio.h>
main()
{
int
a,b,c,d,max,min;
printf("input
4
numbers:");
scanf("%d%d%d%d",&a,&b,&c,&d);
max=a>(b>(c>d?c:d)?b:(c>d?c:d))?a:(b>(c>d?c:d)?b:(c>d?c:d));
min=a<(b<(c<d?c:d)?b:(c<d?c:d))?a:(b<(c<d?c:d)?b:(c<d?c:d));
printf("max=%d\nmin=%d",max,min);
}
楼主理解一下看看,其实max、min两句都是三目运算的条件表达式嵌套使用,相当于if语句,呵呵!

任意输入4个整数,从大到小排列输出。c语言程序怎么写
} 该程序首先通过`scanf`函数读取用户输入的4个整数,然后使用一系列的`if`语句进行比较和交换操作,以确保变量a、b、c、d中的数值按从大到小的顺序排列。最后,通过`printf`函数输出排序后的结果。C语言之所以能够保持良好的跨平台特性,是因为它的标准库定义了统一的数据类型和函数接口,使得在不同的...

用C编写一个程序从用户输入的四个整数中找出最大和最小值
还好,只有四个整数,若更多的话那可就麻烦了,这个最好用数组来处理。楼上的固然正确,不过第八行不要这样子写:max=min=a;最好分开来写成:max=a;min=a; 要养成良好的编程习惯。对于这个题而言,我会这样写(不用数组):include<stdio.h> main(){ int a,b,c,d,max,min;printf("input...

编写一个程序,对输入的4个整数,求出其中的最大值和最小值
{int a,b,c,d,max1,min1,max2,min2;printf("请输入四位整数:");scanf("%d %d %d %d",&a,&b,&c,&d);if(a>b){max1=a;min1=b;} else {max1=b;min1=a;} if(c>d){max2=c;min2=d;} else {max2=d;min2=c;} if(max1<max2)max1=max2;if(min1>min2)min1=mi...

编写一个程序,对输入的4个整数,求出其中的最大值和最小值,请使用C#编写...
Console.WriteLine("请输入第四个数:");number3 = decimal.Parse(Console.ReadLine());if(number3 > max1 ) max1 = number3;if(number3 < min2 ) min2 = number3;Console.WriteLine("最大值:" + max1.tostring());Console.WriteLine("最小值:"+ min1.tostring());} ...

用c语言编程:编写一个程序,输入4个数,求其平均值
程序代码如下:直接编译,程序输出结果中任意输入4个数字,程序执行结果如下图所示:

用c语言编程:编写一个程序,输入4个数,求其平均值
在C语言编程中,要创建一个实用的程序,其核心功能是接收用户输入的四个数值,然后计算并输出它们的平均值。以下是实现这个功能的详细步骤和代码片段:首先,确保你的程序中包含main()函数,这是C语言程序的基本结构。在main()函数内部,你需要声明和初始化四个变量来存储用户的输入,然后通过scanf()函数...

C语言编程,从键盘输入四个整数,按照数值从小到大顺序输出
int main( ){ int num[4];for(int i = 0 ; i < 4 ; i++){ scanf("%d", num+i);} for(int i = 0 ; i < 4 ; i++){ int k = i;for(int j = i+1 ; j < 4 ; j++){ if(num[k] > num[j]){ k = j;} } if(k != i){ int temp = num[k];num[k...

流程图 编写一个程序,对输入的四个整数,求出其中的最大值和最小值_百 ...
include<stdio.h> main(){ int a,b,c,d,max,min;scanf("%d,%d,%d,%d",&a,&b,&c,&d);max = a;min = a;if(b>max) max = b;if(c>max) max = c;if(d>max) max = d;if(b<min) min = b;if(c<min) min = c;if(d<min) min = d;printf("max=%d,min=%d",...

用C语言程序编写:输入一个四位整数(如1234),使其倒序输出(如4321),并...
include "stdio.h"int main (){ int x,y; \/\/x是原数字,y是倒序后的数字 printf("请输入原数字:");scanf("%d",&x) ;if(x>9999) printf("输入数字不能超过9999");else { for(y=0;x!=0;x=x\/10 )y=y*10+x%10;} printf("倒序后的数字是:%d",y);system("pause");} ...

C语言,程序设计 输入4个整数,要求按由小到大的顺序输出 怎么做啊...
第二轮则去掉最后一个数,对前n-1个数再按照上面的步骤找出最大数,该数将称为倒数第二的数组元素...n-1轮过后,就完成了排序。\/\/若要以降序顺序排列,则只需将 if(array[j]>array[j+1])语句中的大于号改为小于号即可。\/\/程序如下:#include<stdio.h>#define N 15void BubbleSort(int ...