输入三个字母,根据字母顺序进行输出,为什么我输出的字母是乱排序的,而不是按照从后往前排?
为什么你会写这种写法,写代码不是写数学公式。
if(a > b > c)
应该是
if(a > b && a > c)
如果解决您的问题,请点赞采纳,谢谢。
【以下回答由 GPT 生成】
这段代码中有一个逻辑错误,导致输出的字母顺序不是按照从后往前排。
问题出现在条件判断语句中,比较运算符写反了。当输入的字母顺序是从大到小时,应该输出从后往前排的结果,而不是从前往后。因此,需要将比较运算符进行修正。
以下为修正后的代码:
#include <iostream>
using namespace std;
int main() {
char a, b, c;
cout << "请输入三个字母,根据字母顺序进行输出。为什么输出的字母是乱排序的,而不是按照从后往前排?" << endl;
cin >> a;
cin >> b;
cin >> c;
if ((int)a > (int)b && (int)b > (int)c) {
cout << c << b << a << endl;
}
else if ((int)a > (int)c && (int)c > (int)b) {
cout << b << c << a << endl;
}
else if ((int)b > (int)a && (int)a > (int)c) {
cout << c << a << b << endl;
}
else if ((int)b > (int)c && (int)c > (int)a) {
cout << a << c << b << endl;
}
else if ((int)c > (int)b && (int)b > (int)a) {
cout << a << b << c << endl;
}
else {
cout << b << a << c << endl;
}
return 0;
}
这样修正后,输出的字母就会按照从后往前排列。
【相关推荐】