湖畔读书人


私信TA

用户名:2814787590

访问量:128154

签 名:

等  级
排  名 21
经  验 19782
参赛次数 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分

106 人评分

  评论区

#include<stdio.h>

void fun(int a[])
{
    int i, j;
    
    for (i = 0; i < 3 - 1; i++)
    {
        for (j = 0; j < 3 - i - 1; j++) 
        {
            if (a[j] > a[j + 1]) 
            {
                int temp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = temp;
            }
        }
    }
}

int main()
{
	int a[3] = {};
	int i;
	for (i = 0; i < 3; i++)
	{
		scanf_s("%d", &a[i]);
	}

	fun(a);

	for (i = 0; i < 3; i++)
	{
		printf("%d ", a[i]);
	}
	return 0;
}
2024-08-24 10:54:01
#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