2572判断两个数逆置相加得到结果再逆置,判断给的等式是否正确,这题几乎和1504题一模一样,就多加个输入的分割,这次0MS过了。
代码如下:
#include<stdio.h>
#include<string.h>
char a[8],b[8],c[10];
int reverse(char *s){
char str[7];
int i;
char ch;
strcpy(str,s);
int len=strlen(str);
for(i=0;i<len/2;i++){
ch=str[i];
str[i]=str[len-i-1];
str[len-i-1]=ch;
} return (atoi(str));
}
void getStr(char *s){
int len=strlen(s);
int i=0,j;
for (j=0;i<len;i++){
if(s[i]=='+'){
i++;
break;
}
else{
a[j]=s[i];
j++;
}
} for(j=0;i<len;i++){
if(s[i]== '='){
i++;
break;
}
else{
b[j]=s[i];
j++;
}
} for(j=0;i<len;i++){
c[j]=s[i];
j++;
}
}
void main(){
char s[25];
while(gets(s)){
if(0==strcmp(s,"0+0=0")){
printf("True\n");
break;
}
memset(a,'\0',sizeof(a));
memset(b,'\0',sizeof(b));
memset(c,'\0',sizeof(c));
getStr(s);
if(reverse(c)==(reverse(a)+reverse(b)))
printf("True\n");
else
printf("False\n");
}
}
微信扫一扫,订阅我的博客动态^_^