本题要求将输入的任意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