c++如何按大小顺序输出数字

例如:a=2,b=4,c=1,d=5,按从大到小的顺序,输出字母和数值,每行一个字母,一个数值。
输出示例:d 5
b 4
a 2
c 1

#include<iostream>

#include<iomanip>

#define N 5

#define S(a,b,c) {c=a;a=b;b=c;}

void main(void)

{

using namespace std;

int integer[N],i,j,tmpint;

char ch[N],tmpch;

for(i=0;i<N;i++)

cin>>ch[i]>>integer[i];

for(i=0;i<N-1;i++)

for(j=i;j<N;j++)

if(integer[i]<integer[j])

{

S(integer[i],integer[j],tmpint);

S(ch[i],ch[j],tmpch);

}

for(i=0;i<N;i++)

cout<<ch[i]<<setw(6)<<integer[i]<<endl;

return;

}

温馨提示:答案为网友推荐,仅供参考
相似回答