c语言
---恢复内容开始---
4. 今天突然想起来一个问题,但一时又想不起方法
C语言编程题,从键盘输入任意3个数,按从小到大的顺序输出
这个是第一种,正常的思考逻辑。
#include <stdio.h>
//输入三个数,按从小到大顺序输出
int main(void)
{
int a, b, c, min, median, max;
scanf("%d%d%d", &a,&b,&c);
if (a>b)
{
if (a>c)
{
max = a;
if (b>c)
{
median = b;
min = c;
}
else
{
median = c;
min = b;
}
}
else
{
max = c;
median = a;
min = b;
}
}
else if (b>c)
{
max = b;
if(a>c)
{
median = a;
min = c;
}
else
{
median = c;
min = a;
}
}
printf("%d < %d < %d\n", min, median, max);
return 0;
}
第二种:逆向思维
// 输入3个数,要求按从小到大顺序输出
#include <stdio.h>
int main()
{
int a,b,c,t;
printf("请输入三个数:");
scanf("%d%d%d",&a,&b,&c);
if(a > b)
{
t = a;
a = b;
b = t;
}
if(a > c)
{
t = a;
a = c;
c = t;
}
if(b > c)
{
t = b;
b = c;
c = t;
}
printf("从小到大的顺序是:%d %d %d\n",a,b,c);
return 0;
}
---恢复内容结束---
4. 今天突然想起来一个问题,但一时又想不起方法
C语言编程题,从键盘输入任意3个数,按从小到大的顺序输出
这个是第一种,正常的思考逻辑。
#include <stdio.h>
//输入三个数,按从小到大顺序输出
int main(void)
{
int a, b, c, min, median, max;
scanf("%d%d%d", &a,&b,&c);
if (a>b)
{
if (a>c)
{
max = a;
if (b>c)
{
median = b;
min = c;
}
else
{
median = c;
min = b;
}
}
else
{
max = c;
median = a;
min = b;
}
}
else if (b>c)
{
max = b;
if(a>c)
{
median = a;
min = c;
}
else
{
median = c;
min = a;
}
}
printf("%d < %d < %d\n", min, median, max);
return 0;
}
第二种:逆向思维
// 输入3个数,要求按从小到大顺序输出
#include <stdio.h>
int main()
{
int a,b,c,t;
printf("请输入三个数:");
scanf("%d%d%d",&a,&b,&c);
if(a > b)
{
t = a;
a = b;
b = t;
}
if(a > c)
{
t = a;
a = c;
c = t;
}
if(b > c)
{
t = b;
b = c;
c = t;
}
printf("从小到大的顺序是:%d %d %d\n",a,b,c);
return 0;
}