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

用C语言编写一个程序,从用户输入的四个整数中找到最大和最小的那两个值,用if语句,求高人指点

还好,只有四个整数,若更多的话那可就麻烦了,这个最好用数组来处理。
楼上的固然正确,不过第八行不要这样子写: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语句,呵呵!
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-12-25

#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\n",max1);

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

return 0;

}


本回答被网友采纳
第2个回答  2010-06-13
楼上的计算量都比较大吧。
我个人觉的a b c d 四个数

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

只要比较四次就可得到结果。
(以最坏运算次数比较)
如有不当,望能指出。谢谢
第3个回答  2010-06-13
#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
第4个回答  2020-06-16
还好,只有四个整数,若更多的话那可就麻烦了,这个最好用数组来处理。
楼上的固然正确,不过第八行不要这样子写: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语句,呵呵!

用C编写一个程序从用户输入的四个整数中找出最大和最小值
楼上的固然正确,不过第八行不要这样子写: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",&a,&b,&c,&d);max=a>(b>(c>...

问一个C#编程题:对输入的四个整数,求出其中最大值和最小值。
第一种:1.申请一个数组空间a[4],将这个数依次存入数组里面 2.申请变量 int maxvalue (表示最大值),初始化这个值为 maxvalue=a[0];即输入的第一个数的值 3.遍历数组 for(int i=1;i<4;i++),和 maxvalue进行比较,如果数组的值大就把maxvalue设置为这个大的值;if (a[i]>maxvalue) m...

C语言编程序:输入a,b,c,d四个整数,求最小值,最大值。
原理就是运用冒泡算法,两两比较,把所有的比较完,得出最大和最小值。

c语言:从键盘上输入四个数求出最大值和最小值
printf("四个数中的最大值为%d,最小值为%d",max,min);return 0;}

编写一个程序,对输入的4个整数,求出其中的最大值和最小值,请使用C#编写...
= number3;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个整数判断它们的大小,并请分别打印出它们的最大...
void main() { int a,b,c,d,max,min;scanf("%d%d%d",&a,&b,&c,&d);max=min=a;if ( max<b ) max=b;if ( max<c ) max=c;if ( max<d ) max=d;if ( min>b ) min=b;if ( min>c ) min=c;if ( min>d ) min=d;printf("最大值%d,最小值%d。\\n",max,min)...

C语言编写程序:输入4个整数输出其中最小值的程序
int main(){ float A[4],a_min;int i;for(i=1;i<4;i=i+1){ if(A[i]<=A[0])A[0]=A[i];} a_min=A[0];printf("最小值= %f\\n",a_min);return(0);} 注释:将4个数值分别赋给A[0],A[1],A[2],A[3]a_min为最小值。

C语言中 输入四个整数,输出最小的那个数
your own getch, system("pause") or input loop *\/int main(int argc, char *argv[]) {int i=0,max,temp;printf("请输入四个整数:\\n");for(i;i<4;i++){scanf("%d",&temp);if(max<temp)max=temp;} printf("最大的整数是:%d",max);return 0;}打码不容易望采纳谢谢。。。

C语言中如何编 输入4个数 输出最大值和最小值?(只用4条IF语句,不用FOR...
把这4个数分成两组比较,得出两个比较大的数和两个比较小的数,再比较两个大数和两个小数,得出最大数和最小数 例如:int n1=3, n2=5, n3=1, n4=7;int max1,max2,min1,min2,max,min;if(n1>n2) {max1=n1; min1=n2;} else {max1=n2; min1=n1;} if(n3>n4) {max1=n3; ...

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

相似回答