本题要求将输入的任意3个整数从小到大输出。
输入格式:
输入在一行中给出3个整数,其间以空格分隔。
输出格式:
在一行中将3个整数从小到大输出,其间以“->”相连。
输入样例:
4 2 8
输出样例:
2->4->8
题目链接: https://pintia.cn/problem-sets/994805046380707840/problems/994805132040978432
源代码:
很好看,结果忽略了相等的时候。
#include<iostream>
using namespace std;
int a[5]; //一共有 3 个数
int b[5]; //判断每个数比他大的数的个数
int main()
{
for(int i = 0; i <= 2; i++) cin>>a[i];
for(int i = 0; i <= 2; i++) for(int j = 0; j <= 2; j++) if(a[j] > a[i]) b[i]++;
for(int i = 0; i <= 2; i++) if(b[i] == 2) cout<<a[i]<<"->"; //输出最小值
for(int i = 0; i <= 2; i++) if(b[i] == 1) cout<<a[i]<<"->"; //输出中间值
for(int i = 0; i <= 2; i++) if(b[i] == 0) cout<<a[i]; //输出最大值
return 0;
}
解题代码:
#include<iostream>
using namespace std;
int a[5]; //一共有 3 个数
int main()
{
for(int i = 0; i <= 2; i++) cin>>a[i];
for(int i = 0; i <= 1; i++)
{
for(int j = i + 1; j <= 2; j++)
{
int t;
if(a[i] > a[j])
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
cout<<a[0]<<"->"<<a[1]<<"->"<<a[2];
return 0;
}