我写了三种方法,可以参考~~~
/*
从键盘输入3个数,输出最大值和最小值
1.用scanf函数输入三个数,且在输入前要有提示;
2.使用嵌套结构出最大值,然后求出最小值,并使用printf输出
*/
//方法一:你要的嵌套结构,经过判断和交换,使得a是最大值,c是最小值
#include<stdio.h>
int main()
{
int a,b,c,t;
printf("请输入三个整数:\n");
scanf("%d%d%d",&a,&b,&c);
if(b>a)
{
t=a;
a=b;
b=t;
}
if(c>a)
{
t=a;
a=c;
c=t;
}
if(c>b)
{
t=c;
c=b;
b=t;
}
printf("最大值是%d,最小值是%d\n",a,c);
return 0;
}
//方法二:很方便的宏定义
#include<stdio.h>
#define max(a,b) ((a)>(b)?(a):(b))
#define min(a,b) ((a)<(b)?(a):(b))
int main()
{
int a,b,c,maxf,minf;
printf("请输入三个整数:\n");
scanf("%d%d%d",&a,&b,&c);
maxf=max(a,b);
maxf=max(c,maxf);
minf=min(a,b);
minf=min(c,minf);
printf("最大值是%d,最小值是%d\n",maxf,minf);
return 0;
}
//方法三:排序
#include<stdio.h>
#include<stdlib.h>
int cmp(const void* p,const void* q)
{
return *((int*)p) - *((int*)q);
}
int main()
{
int a[3],i;
printf("请输入三个整数:\n");
for(i=0;i<3;i++)
scanf("%d",&a[i]);
qsort(a,3,sizeof(a[0]),cmp);//调用快排qsort函数排序,也可以自己写啦~
printf("最大值是%d,最小值是%d\n",a[2],a[0]);
}
温馨提示:答案为网友推荐,仅供参考