本题要求将输入的任意3个整数从小到大输出。
输入在一行中给出3个整数,其间以空格分隔。
在一行中将3个整数从小到大输出,其间以“->”相连。
4 2 8
2->4->8
解题思路:
本题基本不难,难得是若没了解过sort则需要花点时间学习sort函数。
一:最简单最“笨拙”的办法,就是用三个for循环,通过两两比较,实现三个数的比较(代码附后面)。
二:定义一个数组,通过sort函数进行比较。
回顾反思点:
一:方法二中,定义一个数组时,若数组长度需要获取:
若定义的是int类型,则无法获取,网上资料是先通过sizeof函数获取内存大小并除以一个元素所需内存大小:sizeof(arr) / sizeof(arr[0]);
若定义的是string类型,则可以通过 数组.length()or数组.size()获取一个数组的长度。
代码如下:
方法一:
#include<iostream>
using namespace std;
int main()
{
int a,b,c;
cin>>a>>b>>c;
if(a>b)
{
int temp=b;
b=a;
a=temp;
}
if(a>c)
{
int temp=c;
c=a;
a=temp;
}
if(b>c)
{
int temp=c;
c=b;
b=temp;
}
cout<<a<<"->"<<b<<"->"<<c<<endl;
return 0;
}
方法二:
#include<iostream>
using namespace std;
#include<algorithm>
int main()
{
int a[3];
for(int i=0;i<3;i++)
{
cin>>a[i];
}
sort(a,a+3);
for(int i=0;i<2;i++)
{
cout<<a[i]<<"->";
}
cout<<a[2]<<endl;
return 0;
}
原文:https://www.cnblogs.com/yxbl/p/12261663.html