本题要求将输入的任意3个整数从小到大输出。
输入格式:
输入在一行中给出3个整数,其间以空格分隔。
输出格式:
在一行中将3个整数从小到大输出,其间以“->”相连。
输入样例:
4 2 8
输出样例:
2->4->8
#include<iostream>
using namespace std;
int n;
const int N=1e6+10;
int q[N];
void quick_sort(int q[],int l,int r)
{
if(l>=r)
return ;
int x=q[l],i=l-1,j=r+1;
while(i<j)
{
while(q[++i]<x);
while(q[--j]>x);
if(i<j)
swap(q[i],q[j]);
}
quick_sort(q,l,j);
quick_sort(q,j+1,r);
}
int main()
{int n=3;
for(int i=1;i<=n;i++)
cin>>q[i];
quick_sort(q,1,n);
for(int i=1;i<=n;i++)
{
cout<<q[i];
if(i<n)
cout<<"->";}
return 0;
}
起初我用了
for(int i=0;i<n;i++)
{
cout<<q[i]<<"->";
}
经行输出;
输出的却是
2->4->8->
,
最后我想到如果
输入的数是最后一位数,就不输出'->',所以将
cout<<q[i];
与
cout<<"->";
分开来写,
就可以了
只要输出的数的个数小于总个数的时候就打印"->"
即
for(int i=1;i<n;i++)
{
cout<<q[i];
if(i<n)
cout<<"->";
}