c语言:用户输入的四个数中找出最大值和最小值 ,求答案!!

用c语言编写:
enter four integer:XX ,XX, XX, XX
要求只要4个 if 语句!
不要用循环,while,for之类的都不要用。(题目中要求只要4个if语句就够了)

#include<stdio.h>
void main()
{
int a,b,c,d,max,min;
printf("请输入四个数:\n");
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\n",max);

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

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-15
#include <stdlib.h>
#define LENGTH 20
void main()
{
int *pBuff = (int *)malloc(sizeof(int) * LENGTH);
int i, max, min;
for (i = 0; i < LENGTH; ++i)
{
printf("请输入第%d个数:", i+1);
scanf("%d", pBuff+i);
}
max = min = *pBuff;
for (i = 0; i < LENGTH; ++i)
{
if (*(pBuff+i) < min)
min = *(pBuff+i);
else if (*(pBuff+i) > max)
max = *(pBuff+i);
printf("%d ", *(pBuff+i));
}
printf("\n最大值为%d,最小值为%d\n", max, min);
}
另外,虚机团上产品团购,超级便宜
第2个回答  2011-04-10
#include<stdio.h>

void main() {
int a,b,c,d;
scanf("%d,%d,%d,%d",&a,&b,&c,&d);

int max,min;

if(a>b) {
max = a;
min = b;
}

else {
max = b;
min = a;
}

if(max>b) min = b;
else max = b;

if(max>c) min = c;
else max = c;

if(max>d) min = d;
else max = d;

printf("最大数字为:%d\n",max);
printf("最小数字为:%d\n",min);

}
==============================================
不多不少正好4个if追问

总觉得不对!
if(max > c) min = c; /*此处如果进行此步, max = a 情况下,b和c没有比较
怎么知道c 是最小
和 max = b 情况下,a 和c 也是没有比较的,怎么知道c是最小?
*/

追答

你先理解一下第一个if做的事情:第一步先把a和b做比较,大的保存到max,小的保存到min,之后3个if都是max在和b,c,d做比较,每次比较的结果保证了max永远都是最大的那个数,min永远都是最小的那个,最后结果只要把max和min打印出来就ok了。所以不存在你所说的b和c,a和c没有比较的情况。

第3个回答  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;


第4个回答  2011-04-12
int main(void)
{
int a,b,c,d;
int top;
if(a > b)
{
top = a;
}
else
{
top = b;
}
if(top < c)
{
top =c;
}
if(top < d)
{
top = d
}
printf("max = %d\n",top)
}追问

你输出的是:最大值了。
没有输出最小值了!!

相似回答