事实证明还是,题目拿到手之后,还是还是好好动手划一下比较好,不然直接想打哪!打到哪!很容易乱掉的。将数字倒着弄成字符串比较好处理。
#include#include #define MAX 505char str[MAX][200];int ch1(char *a,char *b){ int l1,len,flag,coun=0,l2; int i=0,j=0; l1=strlen(a); l2=strlen(b); if(l1>l2) return 1; else if(l1 =0;i--) { if(a[i]>b[i]) return 1; else if(a[i] l2) return 1; else if(l1 =0;i--) { if(a[i]>b[i]) return 1; else if(a[i] =len1) l2=0; if(flag==1) h=1; h+=l1+l2; if(h>=10) { flag=1; h-=10; } else flag=0; str[i][j]='0'+h; } if(flag==1) str[i][j++]='1'; str[i][j]='\0'; } while(scanf("%s%s",str1,str2)!=EOF) { if(strcmp(str1,"0")==0&&strcmp(str2,"0")==0) break; l1=strlen(str1);str3[l1]='\0'; for(i=l1-1,j=0;i>=0;i--) str3[i]=str1[j++]; l2=strlen(str2);str4[l2]='\0'; for(i=l2-1,j=0;i>=0;i--) str4[i]=str2[j++]; printf("%d\n",cmp(str3,str4)); } return 0;}