解题思路:
注意事项:
参考代码:
#include <iostream>
#include<cstdio>
#include<cstring>
using namespace std;
//自定义函数,实现比较a,b两个字符数组大小
//前两个参数传入两个字符数组a,b
//第三个参数用于递归时标记比较的位置,初始传入0即可
int ifBig(char a[], char b[], int i){
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 main() {
//三个进行初始化
char a[100];
char b[100];
char c[100];
gets(a);
gets(b);
gets(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){
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,b,0)==0 && ifBig(c,a,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;
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复