http://acm.hdu.edu.cn/showproblem.php?pid=1073
题目大意:给你输入N组表达式,一个是正确的,一个是要核对的。问你这两个之间是什么关系。
#include<stdio.h> #include <string.h> #define N 10000 char str1[N],str2[N]; void input(char *str) { char tmp[N]; //对的输入 getchar(); gets(tmp); while(gets(tmp) && strcmp(tmp,"END")) { if(strlen(tmp)==0) strcat(str,"/n"); else strcat(str,tmp); } } void DelChar(char *str,int len)//去掉空格,回车和制表符 { char tmp[N]; int t=0; for(int i=0;i<len;i++) if(!(str[i]==' ' || str[i]=='/t' || str[i]=='/n')) tmp[t++]=str[i]; tmp[t]='/0'; strcpy(str,tmp); } /*判断结果*/ int cmp() { int n1,n2; n1=strlen(str1); n2=strlen(str2); if(n1==n2 && !strcmp(str1,str2)) return 1; DelChar(str1,n1);//puts(str1); DelChar(str2,n2);//puts(str2); if(!strcmp(str1,str2)) return 0; else return -1; } int main() { int t,res; while(scanf("%d",&t)!=EOF) { while(t--) { memset(str1,0,sizeof(str1)); memset(str2,0,sizeof(str2)); input(str1); input(str2); res=cmp(); if(res==1) puts("Accepted"); else if(res==0) puts("Presentation Error"); else if(res==-1) puts("Wrong Answer"); } } return 0; }