这个问题从编译器里得到的答案是正确的,但是提交答案后每一个测试点都显示错误。找不到原因。
【你的错误】
题目要求输入的字符(ABC)只有3个,你却弄错为4个
【解决办法】
将定义的 b[4] 改为 b[3],输入字符个数改为3个,依次输入b[0] b[1] b[2]
【参考代码(含注释)】
#include <iostream>
#include <algorithm>
using namespace std;
int main(){
int arr[3];//定义数组
char A,B,C;//定义字符
cin>>arr[0]>>arr[1]>>arr[2];//输入数组
cin>>A>>B>>C;//输入字符
sort(arr,arr+3);//排序
cout<<arr[A-65]<<' '<<arr[B-65]<<' '<<arr[C-65];//输出
return 0;
}
你这错误有点多啊
洛谷不是有别人提交的代码和讲解吗?
可以去参考一下别人的写法思路
emmm,你在编译器里面是打印输出。
它这个网页测试应该是需要你return返回值吧
C++代码参考如下:
int main() {
int a[3];
char s[3];
cin >> a[0] >> a[1] >> a[2];
cin >> s;
int t;
for (int i = 0; i < 2; i++) {
for (int j = i + 1; j < 3; j++) {
if (a[i] > a[j]) {
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
for (int i = 0; i < 3; i++) {
if (s[i] == 'A') {
cout << a[0];
} else if (s[i] == 'B') {
cout << a[1];
} else {
cout << a[2];
}
cout << " ";
}
cout << endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int a[3];//定义数组
char abc[3];//字符
int main(){
for(int i=0;i<3;i++){
cin>>a[i];
}
sort(a,a+3);//排序
for(int i=0;i<3;i++){
cin>>abc[i];//输入
}
for(int i=0;i<3;i++){
if(abc[i]=='A') cout<<a[0];
if(abc[i]=='B') cout<<a[1];
if(abc[i]=='C') cout<<a[2];//判断
cout<<' ';
}
return 0;//结束
}