湖畔读书人


私信TA

用户名:2814787590

访问量:121586

签 名:

等  级
排  名 22
经  验 18916
参赛次数 0
文章发表 42
年  龄 0
在职情况 学生
学  校 武汉东湖学院
专  业

  自我简介:

解题思路和注意事项:


用了三目运算符把三个数的排序搞出来了,见下文:


最小数:(a<b?a:b)<c?(a<b?a:b):c

最大数:(a>b?a:b)>c?(a>b?a:b):c

中间数:a<b?(a>c?a:(c<b?c:b)):(a<c?a:(b>c?b:c))


参考代码:

#include<stdio.h>
int main()
{
	int a,b,c;
	scanf("%d%d%d",&a,&b,&c);
	printf("%d %d %d\n",(a<b?a:b)<c?(a<b?a:b):c,
		a<b?(a>c?a:(c<b?c:b)):(a<c?a:(b>c?b:c)),
		(a>b?a:b)>c?(a>b?a:b):c);
	return 0;
}


 

0.0分

103 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

#include<stdio.h>
#define  Max(x,y,z)     x>y?(x>z?x:z):(y>z?y:z)
#define  mAx(x,y,z)        x>y?(x>z?z:y):(y>z?z:x)
int main()
{
	int a,b,c;
	scanf("%d %d %d",&a,&b,&c);
	printf("%d %d %d",Max(a,b,c),wang(a,b,c),mAx(a,b,c));
}
int wang (int x ,int y,int z)
{
	if(x>y&&y>z||z>y&&y>x)
	{
		return y;
	}
	if(y>x&&x>z||z>x&&x>y)
	{
		return x;
	}
	if(x>z&&z>y||y>z&&z>x)
	{
		return z;
	 } 
	 
}
第二种取中间运算符我构思不出来,就用自定义函数来代替了
我试过了这个方法还是可以的
2022-10-30 11:57:51
#include <stdio.h>
 
int main()
{
	int a,b,c,t; 
	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",a,b,c); 
    return 0;
}感觉我这个方法已经很蠢了
2022-08-26 17:16:15
#include "stdio.h"

int main() {
	int a, b, c, m, n, t;
	scanf("%d%d%d", &a, &b, &c);
	m = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);
	n = (a < b) ? ((a < c) ? a : c) : ((b < c) ? b : c);
	t = (a > b) ? ((b < c) ? c : b) : ((a < c) ? c : a);
	printf("%d %d %d", n, t, m);
	return 0;
}更新
2022-03-17 22:17:21
#include "stdio.h"

int main() {
	int  i, j, t;
	char x[3];
	for (i = 0; i < 3; i++)
		scanf("%d", &x[i]);
	for (i = 0; i < 2; i++)
		for (j = 0; j < 3 - i; j++)
			if (x[j] > x[j + 1]) {
				t = x[j];
				x[j] = x[j + 1];
				x[j + 1] = t;
			}
	for (i = 0; i < 3; i++)
		printf("%d ", x[i]);
	return 0;
}
说我时间超限了0.0
2022-03-17 22:05:07
#include<stdio.h>
	int main() 
	{
	    int a,b,c,t,m;
	    
		 
	    scanf("%d%d%d",&a,&b,&c);
	    
	    if(b<a)
		{
			t=a;
	    	a=b;
	    
	    	b=t;
		}
		 if(c<b)
		 {
		 	m=c;
		 	t=c;
			c=b;
		
			b=t;
			if (m<a)
		   {
			t=a;
		    a=m;
			
			b=t;
		   }   
         }
	    printf("%d %d %d",a,b,c);
	}
2022-01-17 12:12:05
各位大佬我这样写有什么问题吗?
#include<iostream>
using namespace std;
main()
{
int a,b,c,t;
  cout<<"a,b,c=";
  cin>>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;
}
  cout<<a<<'\t'<<b<<'\t'<<c<<endl;
}
2021-12-07 20:58:39
最小数:(a<b?a:b)<c?(a<b?a:b):c

最大数:(a>b?a:b)>c?(a>b?a:b):c

中间数:a<b?(a>c?a:(c<b?c:b)):(a<c?a:(b>c?b:c))


是什么意思
2021-04-11 19:20:10
#include<stdio.h>
#define MAX(a,b) a>b?a:b
#define MIN(a,b) a<b?a:b
#define MIL(a,b,c) (a>b?a:b)<c?(a>b?a:b):c

int main()
{
    int n[3];
    int i,j,x,z,y,l;
    for(i=0;i<3;i++)
    {
    scanf("%d",&n[i]);
    }
    y = MAX(n[0],n[1]);
    y = MAX(y,n[2]);
    x = MIN(n[0],n[1]);
    x = MIN(x,n[1]);
    l = MIL(n[0],n[1],n[2]);
    printf("%d %d %d\n",x,l,y);

    return 0;
}
小白不知道哪错了呀......
2020-11-28 23:23:27