http://acm.hdu.edu.cn/showproblem.php?pid=1073
題目大意:給你輸入N組運算式,一個是正確的,一個是要核對的。問你這兩個之間是什麼關係。
#include<stdio.h><br />#include <string.h><br />#define N 10000<br />char str1[N],str2[N];</p><p>void input(char *str)<br />{<br /> char tmp[N];<br /> //對的輸入<br /> getchar();<br /> gets(tmp);<br /> while(gets(tmp) && strcmp(tmp,"END"))<br /> {<br /> if(strlen(tmp)==0)<br /> strcat(str,"/n");<br /> else<br /> strcat(str,tmp);<br /> }<br />}</p><p>void DelChar(char *str,int len)//去掉空格,斷行符號和定位字元<br />{<br /> char tmp[N];<br /> int t=0;<br /> for(int i=0;i<len;i++)<br /> if(!(str[i]==' ' || str[i]=='/t' || str[i]=='/n'))<br /> tmp[t++]=str[i];<br /> tmp[t]='/0';<br /> strcpy(str,tmp);<br />}<br />/*判斷結果*/<br />int cmp()<br />{<br /> int n1,n2;<br /> n1=strlen(str1);<br /> n2=strlen(str2);<br /> if(n1==n2 && !strcmp(str1,str2))<br /> return 1;<br /> DelChar(str1,n1);//puts(str1);<br /> DelChar(str2,n2);//puts(str2);<br /> if(!strcmp(str1,str2))<br /> return 0;<br /> else<br /> return -1;<br />}</p><p>int main()<br />{<br /> int t,res;<br /> while(scanf("%d",&t)!=EOF)<br /> {<br /> while(t--)<br /> {<br /> memset(str1,0,sizeof(str1));<br /> memset(str2,0,sizeof(str2));<br /> input(str1);<br /> input(str2);<br /> res=cmp();<br /> if(res==1) puts("Accepted");<br /> else if(res==0) puts("Presentation Error");<br /> else if(res==-1) puts("Wrong Answer");<br /> }<br /> }<br /> return 0;<br />}<br />