HDU2054_A==B?_字符串处理

来源:互联网 发布:手机淘宝昵称怎么修改 编辑:程序博客网 时间:2024/05/20 08:24

A == B ?

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 100942    Accepted Submission(s): 16051


Problem Description
Give you two numbers A and B, if A is equal to B, you should print "YES", or print "NO".
 

Input
each test case contains two numbers A and B.
 

Output
for each case, if A is equal to B, you should print "YES", or print "NO".
 

Sample Input
1 22 23 34 3
 

Sample Output
NOYESYESNO

大致题意:

给出两个整数,判断他们是否相等。


大体思路:

首先,用字符串的形式输入两个数

然后,把它们转化成完全相同的格式

最后,比较转化后的两个数是否相等并输出结果。


解题过程:

n次wa的教训:一定要考虑全面些在动手写码。


#include<cstdio>#include<cstring>char A[100100],B[100100],AA[100100],BB[100100];void Trans(char *S,char *SS){int i,j,l;l=strlen(S);if(S[0]=='-') SS[0]='-';else SS[0]='+';if(strstr(S,".")){for(j=l-1;j>=0&&S[j]=='0';j--);if(S[j]=='.') j--;l=j+1;}for(i=0;i<l&&(S[i]=='0'||S[i]=='+'||S[i]=='-');i++);for(j=1;i<l;i++,j++) SS[j]=S[i];SS[j]='\0';}int main(){while(scanf(" %s %s",A,B)!=EOF){Trans(A,AA);Trans(B,BB);if(strcmp(AA,BB)) printf("NO\n");else printf("YES\n");}return 0;}




0 0
原创粉丝点击