解题思路:
注意事项:
参考代码:
#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语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:629 |
【计算两点间的距离】 (C语言代码)浏览:884 |
WU-拆分位数 (C++代码)浏览:786 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:510 |
简单的a+b (C语言代码)浏览:817 |
简单的a+b (C语言代码)浏览:950 |
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:575 |
多输入输出练习2 (C语言代码)浏览:1657 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:564 |
A+B for Input-Output Practice (I) (C语言代码)浏览:574 |