不是这怎么wa了两个
原题链接:377.比较大小2023-11-28 13:20:24
发布于:广东
#include <iostream>
#include <cstring>
using namespace std;
bool cmpp(char a[], char b[], int len){
for(int i = 0; i < len; i++){
if(a[i] != b[i]) return 0;
}return 1;
}
bool cmp(char a[], char b[], int len){
for(int i = 0; i < len; i++){
if(a[i] > b[i]) return 1;
}return 0;
}
int main(){
string a, b;
cin >> a >> b;
char a1[1005] = {0}, b1[1005] = {0};
bool flag1 = 0, flag2 = 0;
int ct1 = 0, ct2 = 0;
for(int i = 0; i < a.length(); i++){
if(!flag1 && a[i] != '0') flag1 = 1;
if(flag1) a1[ct1++] = a[i];
}for(int i = 0; i < b.length(); i++){
if(!flag2 && b[i] != '0') flag2 = 1;
if(flag2) b1[ct2++] = b[i];
}
if(cmpp(a1, b1, max(strlen(a1), strlen(b1)))) cout << '=';
else if(strlen(a1) > strlen(b1) || strlen(a1) == strlen(b1) && cmp(a1, b1, strlen(a1))) cout << '>';
else cout << '<';
}
全部评论 7
短短10来行你写了20多行?
2024-08-06 来自 浙江
0#include <iostream> using namespace std; char a[100005], b[100005]; char cmp1(){int i; for(i = 0; a[i] != '\0'; i++) if(b[i] == '\0') return '>'; return (b[i] != '\0' ? '<' : '=');} char cmp2(){for(int i = 0; a[i] != '\0'; i++) if(a[i] != b[i]) return (a[i] < b[i] ? '<' : '>'); return '=';} int main(){ cin >> a >> b; cout << (cmp1() != '=' ? cmp1() : cmp2()); }
黑子说话😡😡😡
2024-08-06 来自 湖南
0额
2024-08-06 来自 浙江
0绝了
2024-08-06 来自 浙江
0
至于吗
2024-08-06 来自 浙江
0牛啊
2024-08-06 来自 浙江
0真刑
2023-12-14 来自 北京
0为啥要那么花:#include <iostream>
using namespace std;
int main(){
int x,y;
cin>>x>>y;
if (x>y) cout<<">";
else if(x==y) cout<<"=";
else cout<<"<";
return 0;
}2023-12-05 来自 上海
0主要是被那一坨0吓到了(
2023-12-06 来自 广东
06
2023-12-06 来自 上海
0说明/提示里的那个吗?
2023-12-06 来自 上海
0
没我强(doge)
2023-12-05 来自 北京
0陷入了沉思
2023-11-28 来自 广东
0
有帮助,赞一个