从小到大输出字符串
如输入: ade abc edf
输出为:abc ade edf (空格改为换行)
这个是博主直接改的 就改了录入字符,他的gets用不了 改成了cin.getline(str,100);
//导入两个库
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int ifBig(char a[], char b[], int i) {
//i返回0表示a<=b 返回1表示a>b
if (a[i] > b[i]) return 1; //如果第一个直接比较出来了,直接返回
if (a[i] < b[i]) return 0; //这个也是返回
if (a[i] == b[i]) {
//这个是比较出--相等
if (strlen(a) == i + 1) return 0; //到末端了 返回
if (strlen(b) == i + 1) return 1; //到末端了 返回
return ifBig(a, b, i + 1); //都没到,那就比较下一个
}
}
int Admission(char str[100]) {
cin.getline(str,100);
return 0;
}
int main() {
//三个字符串进行初始化
char a[100];
char b[100];
char c[100];
Admission(a);
Admission(b);
Admission(c);
//如果a最小,a先输出,剩下两个比较后再进行输出
if (ifBig(a, b, 0) == 0 && ifBig(a, c, 0) == 0) {
cout << a << endl;
if (ifBig(b, c, 0) == 0) {
cout << b << endl;
cout << c << endl;
}
else {
cout << c << endl;
cout << b << endl;
}
}
//如果b最小,b先输出,剩下两个比较后在进行输出
if (ifBig(b,a,0) == 0 && ifBig(b, c, 0) == 0 ){
std::cout<<b<<endl;
if (ifBig(a, c, 0) == 0) {
cout << a << endl;
cout << c << endl;
}
else {
cout << c << endl;
cout << a << endl;
}
}
//如果c最小,c现输出,剩下两个进行比较后在进行输出
if (ifBig(c, a, 0) == 0 && ifBig(c, b, 0) == 0)
{
cout << c << endl;
if (ifBig(a, b, 0) == 0) {
cout << a << endl;
cout << b << endl;
}
else {
cout << b<<endl;
cout << a << endl;
}
}
return 0;
}