猫史档案馆


C++每日一题

用户:寂寞de奶酪寂寞de奶酪查看:8 回复:5 评论:8 创建时间:2023-07-22T19:35:43


题目背景

小T对手工很感兴趣,立志成为一名工匠。他一到暑假就会到自家开的工厂里帮工人师傅打下手,学习一些身为工匠应具备的技能。

题目描述

今天小T需要帮工人师傅把原材料摆好顺序。现在小T面前有 3 堆原材料,已知它们的重量,需要按重量从大到小的顺序摆放。

请你帮小T计算一下这些原材料按要求摆放出来是什么样的。

输入格式

第一行一个整数 a,表示第一堆原材料的重量。

第二行一个整数b,表示第二堆原材料的重量。

第三行一个整数 c,表示第三堆原材料的重量。

输出格式

共三行,第一行输出最重的原材料的重量,第二行输出第二重的,第三行输出最轻的原材料重量。

样例数据 输入样例 #1
1
2
3
输出样例 #1
3
2
1
数据范围

对于 100% 的数据<10的8次方


回复

上一页1 页 / 共 1下一页
寂寞de奶酪寂寞de奶酪

球球大家了

点赞0


评论


magua_magua_

if嵌套就可以了呀

点赞0


评论


死神Basic死神Basic

这题太简单,不解析了,上代码:

#include<iostream>
namespace lib{
	template<typename _ArrayType,typename _Integer>
	inline void sort(_ArrayType *_a,_Integer _first, _Integer _last, bool _Compare=false){
		if(_first>=_last) return;
		_ArrayType t=_a[_first];
		_a[_first]=_a[_first+_last>>1];
		_a[_first+_last>>1]=t;
		_ArrayType _x=_a[_first],_i=_first,_j=_last;
		while(_i<_j){
			while(_Compare?_a[_j]<=_x:_a[_j]>=_x&&_i<_j) --_j;
			_a[_i]=_a[_j];
			while(_Compare?_a[_i]>=_x:_a[_i]<=_x&&_i<_j) ++_i;
			_a[_j]=_a[_i];
		}
		_a[_i]=_x;
		sort(_a,_first,_i-1);
		sort(_a,_i+1,_last);
    }
}
static const int N=3+1;
int a[N],n=3;
int main(){
	for(int i=1;i<=n;i++)
		std::cin>>a[i];
	lib::sort(a,1,n,true);
	for(int i=1;i<=n;i++)
		std::cout<<a[i]<<std::endl;
	return 0;
}

点赞0


评论


aOrangesoftaOrangesoft

楼下的其实不用这样,太复杂了

#include <iostream>
using namespace std;
int a[4];
int main(){
  for (int i = 1;i <= 3;i++){
  cin >> a[i];
}
for (int i = 1;i <= 3;i++){
for (int j = 1;j <= 3-i;j++){
if (a[j] < a[j+1]){
int k = a[j];
a[j] = a[j+1];
a[j+1] = k;
}
}
}
for (int i = 1;i <= 3;i++){
cout << a[i] << "\n";
}
}

点赞0


评论


1111111111111111211111111111111112

实际上可以用冒泡排序思想

这个比较简便,随手写的,错误请指出

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a,b,c,t;
    cin >> a >> b >> c;
    if(c>b)
    {
        t=b;
        b=c;
        c=t;
    }
    if(b>a)
    {
        t=a;
        a=b;
        b=t;
    }
    if(c>b)
    {
        t=b;
        b=c;
        c=t;
    }
    cout << a << b <<c;
    return 0;
}

点赞0


评论