解题思路:
注意事项:
参考代码:
#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语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:594 |
简单的a+b (C语言代码)浏览:583 |
C语言训练-求素数问题 (C语言代码)浏览:773 |
用筛法求之N内的素数。 (C语言代码)浏览:1385 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:609 |
DNA (C语言描述,蓝桥杯)浏览:1653 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:524 |
敲七 (C++代码)浏览:1119 |
简单的事情 (C语言代码)浏览:679 |
半数集问题 (C语言代码)浏览:968 |