Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
大牛帮忙我自己写的程序 样例全过自己做了几个数据也是对的 但是总是wa 可以帮我看看不???? #include <stdio.h> #include <string.h> void main() { char s1[10]="-1",s2[10]="6174",s3[10]="0"; char s[10]; int i,j,sum,wei,key; gets(s); while(strcmp(s,s1)!=0) { key=0; for(i=0;i<=5;i++) if (s[i]=='\0') { wei=i; break; } if (((s[1]==s[0])&&(s[0]==s[2])&&(s[0]==s[3]))||(wei<4)) { printf("N=%s:\n",s); printf("No!!\n"); } else { printf("N=%s:\n",s); while((strcmp(s,s2)!=0)&&(strcmp(s,s3)!=0)) { for(i=0;i<=4;i++) if(s[i]=='\0') { wei=i; break; } for(i=0;i<=wei-2;i++) for(j=i+1;j<=wei-1;j++) { if(s[i]<s[j]) { s[7]=s[i]; s[i]=s[j]; s[j]=s[7]; } } if(wei==4) sum=(s[0]-s[3])*1000+(s[1]-s[2])*100+(s[2]-s[1])*10+(s[3]-s[0]); else if(wei==3) sum=(s[0]-s[2])*100+(s[2]-s[0]); else if(wei==2) sum=(s[0]-s[1])*10+s[1]-s[0]; else sum=0; printf("%s-",s); key++; i=wei-1; while(s[i]=='0') i--; for(j=i;j>=0;j--) printf("%c",s[j]); printf("=%d\n",sum); if (sum>=0&&sum<=9) { s[0]='0'+sum; s[1]='\0'; } else if(sum>=10&&sum<=99) { s[0]='0'+sum/10; s[1]='0'+sum%10; s[2]='\0'; } else if(sum>=100&&sum<=999) { j=sum/100; s[0]='0'+j; s[1]='0'+(sum-j*100)/10; s[2]='0'+sum%10; s[3]='\0'; } else if(sum>=1000&&sum<=9999) { j=sum/1000; s[0]='0'+j; s[1]='0'+(sum-j*1000)/100; s[3]='0'+sum%10; i=sum/10; s[2]='0'+i%10; s[4]='\0'; } } printf("Ok!! %d times\n",key); } gets(s); } } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator