问题描述
代码:
1 #include<cstdio> 2 int main(){ 3 int a[15],sum,flag=0; 4 char isbn[15],c; 5 gets(isbn); 6 sscanf(isbn,"%d-%1d%1d%1d-%1d%1d%1d%1d%1d-%c",&a[0],&a[1],&a[2],&a[3],&a[4],&a[5],&a[6],&a[7],&a[8],&c); 7 // for(int i=0;i<10;i++){ 8 // printf("%d\n",a[i]); 9 // } 10 for(int i=0;i<9;i++){ 11 sum+=a[i]*(i+1); 12 } 13 // printf("%d",sum); 14 if(sum%11==10){ 15 if('X'==c) 16 printf("Right"); 17 else 18 printf("%d-%1d%1d%1d-%1d%1d%1d%1d%1d-X",a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]); 19 } 20 else if(sum%11==c-'0'){ 21 printf("Right"); 22 } 23 else{ 24 printf("%d-%1d%1d%1d-%1d%1d%1d%1d%1d-%d",a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],sum%11); 25 } 26 return 0; 27 }
自从学会sscanf后,很多字符串处理都喜欢用它了。但是对最后的结果输出不是很满意。