【题目描述】
三个整数分别为 A,B,C这三个数字不会按照这样的顺序给你,但它们始终满足条件:A < B < C为了看起来更加简洁明了,我们希望你可以按照给定的顺序重新排列它们。
【输入格式】
第一行包含三个正整数 A,B,C不一定是按这个顺序。这三个数字都小于或等于 100。第二行包含三个大写字母 A、B 和 C(它们之间没有空格)表示所需的顺序。
【输出格式】
在一行中输出 A,B 和 C,用一个 (空格)隔开。
输入 #1复制
1 5 3 ABC输出 #1复制
1 3 5输入 #2复制
6 4 2 CAB输出 #2复制
6 2 4
#include<stdio.h>
int main()
{
int a[4];
char b[4];
int i,j,k;
scanf("%d %d %d",&a[0],&a[1],&a[2]);
scanf("%s",b);
for(i=0;i<3-1;i++)
{
for(j=0;j<3-i-1;j++)
{
if(a[j]>a[j+1])
{
k=a[j];
a[j]=a[j+1];
a[j+1]=k;
}
}
}
for(i=0;i<3;i++)
{
switch(b[i])
{
case 'A':
printf("%d",a[0]);
break;
case 'B':
printf("%d",a[1]);
break;
case 'C':
printf("%d",a[2]);
break;
}
printf(" ");
}
return 0;
}
感想:看了洛谷关于这一题的题解,c++做起来代码简洁好看,本人c语言有限,做起来比较复杂,希望日后有所改善,在此记录一下。