标签:style blog http color strong 数据
-234,567,890 123,456,789 1,234 2,345,678
-111111101 2346912
--------------------------------------------------------------------------
思路:
----------------------------------------------------------------------
代码1
1 #include<stdio.h> 3 int main(int argc, char const *argv[]) 4 { 5 int A,B; 6 int i; 7 char a[13],b[13]; 8 while(scanf("%s%s",a,b)!=EOF) 9 { 10 A=0; 11 for(i=0;a[i]!=‘\0‘;i++) 12 if(a[i]>=‘0‘&&a[i]<=‘9‘) 13 A=A*10+a[i]-‘0‘; 14 if(a[0]==‘-‘) 15 A=-A; 16 B=0; 17 for(i=0;b[i]!=‘\0‘;i++) 18 if(b[i]>=‘0‘&&b[i]<=‘9‘) 19 B=B*10+b[i]-‘0‘; 20 if(b[0]==‘-‘) 21 B=-B; 22 printf("%d\n",A+B); 23 } 24 return 0; 25 }
代码2:(严格按照从个位开始,每三位数用逗号","隔开。代码一可以随意输入‘,’,而且输入其它字符也可以通过,而这段代码却要求输入非常严格,不能有一点错误。这段代码数组越界了~还不会改,不过在自己电脑上运行完全正确。)
1 #include<stdio.h> 2 #include<math.h> 3 int input(void); 4 void tran(char *t,int k); 5 int A,B; 6 int main(int argc, char const *argv[]) 7 { 8 while(input()) 9 { 10 // printf("a=%d\n",A);// 11 // printf("b=%d\n",B);// 12 printf("%d\n",A+B); 13 // getchar(); 14 } 15 return 0; 16 } 17 int input(void) 18 { 19 20 char t[26]; 21 char t1[13],t2[13]; 22 int i,j,p; 23 int flag; 24 for(i=0;i<13;i++) 25 { 26 t1[i]=‘0‘; 27 t2[i]=‘0‘; 28 } 29 gets(t); 30 for(i=0;t[i]!=‘\0‘;i++) 31 if((t[i]<‘0‘||t[i]>‘9‘)&&t[i]!=‘,‘&&t[i]!=‘ ‘&&t[i]!=0&&t[i]!=‘-‘) 32 return(0); 33 p=0; 34 flag=1; 35 for(i=0;flag;i++) 36 { 37 if(t[i]==‘ ‘) 38 { 39 p=i; 40 flag=0; 41 } 42 else 43 { 44 t1[i]=t[i]; 45 } 46 } 47 t1[p]=‘\0‘; 48 flag=1; 49 for(i=p+1,j=0;flag;i++,j++) 50 { 51 if(t[i]==0) 52 flag=0; 53 else 54 t2[j]=t[i]; 55 } 56 t2[j-1]=‘\0‘; 57 // printf("t1 %s\n",t1);// 58 // printf("t2 %s\n",t2);// 59 tran(t1,1); 60 tran(t2,2); 61 return(1); 62 } 63 64 void tran(char *t,int k) 65 { 66 char a[3][3],b[3][3]; 67 int C; 68 int f,i,j,q; 69 int flag; 70 int cout,cout0; 71 int c; 72 for(i=0;i<3;i++) 73 for(j=0;j<3;j++) 74 { 75 a[i][j]=‘0‘; 76 b[i][j]=‘0‘; 77 } 78 79 if(t[0]==‘-‘) 80 f=1; 81 else 82 { 83 f=0; 84 for(i=0,q=0;t[i]!=‘\0‘;i++,q++) 85 {} 86 for(i=q+1;i>0;i--) 87 t[i]=t[i-1]; 88 } 89 //printf("t %s\n",t);// 90 for(i=1,cout=1;t[i]!=‘\0‘;i++) 91 if(t[i]==‘,‘) 92 cout++; 93 if(cout==1) 94 { 95 for(i=3,cout0=3;i>0;i--,cout0--) 96 if(t[i]!=‘0‘) 97 break; 98 } 99 else 100 { 101 for(i=4,cout0=3;i>0;i--,cout0--) 102 { 103 if(t[i]==‘,‘) 104 break; 105 } 106 } 107 //printf("cout:%d %d\n",cout,cout0);// 108 switch(cout) 109 { 110 case 1: 111 switch(cout0) 112 { 113 case 1: 114 { 115 a[2][2]=t[1]; 116 } 117 break; 118 case 2: 119 { 120 a[2][2]=t[2]; 121 a[2][1]=t[1]; 122 } 123 break; 124 case 3: 125 { 126 a[2][2]=t[3]; 127 a[2][1]=t[2]; 128 a[2][0]=t[1]; 129 } 130 break; 131 } 132 break; 133 case 2: 134 { 135 switch(cout0) 136 { 137 case 1: 138 { 139 a[1][2]=t[1]; 140 a[2][0]=t[3]; 141 a[2][1]=t[4]; 142 a[2][2]=t[5]; 143 } 144 break; 145 case 2: 146 { 147 a[1][1]=t[1]; 148 a[1][2]=t[2]; 149 a[2][0]=t[4]; 150 a[2][1]=t[5]; 151 a[2][2]=t[6]; 152 153 } 154 break; 155 case 3: 156 { 157 a[1][0]=t[1]; 158 a[1][1]=t[2]; 159 a[1][2]=t[3]; 160 a[2][0]=t[5]; 161 a[2][1]=t[6]; 162 a[2][2]=t[7]; 163 } 164 break; 165 } 166 167 } 168 break; 169 case 3: 170 { 171 switch(cout0) 172 { 173 case 1: 174 { 175 a[0][2]=t[1]; 176 a[1][0]=t[3]; 177 a[1][1]=t[4]; 178 a[1][2]=t[5]; 179 a[2][0]=t[7]; 180 a[2][1]=t[8]; 181 a[2][2]=t[9]; 182 } 183 break; 184 185 case 2: 186 { 187 a[0][1]=t[1]; 188 a[0][2]=t[2]; 189 a[1][0]=t[4]; 190 a[1][1]=t[5]; 191 a[1][2]=t[6]; 192 a[2][0]=t[8]; 193 a[2][1]=t[9]; 194 a[2][2]=t[10]; 195 } 196 break; 197 case 3: 198 { 199 a[0][0]=t[1]; 200 a[0][1]=t[2]; 201 a[0][2]=t[3]; 202 a[1][0]=t[5]; 203 a[1][1]=t[6]; 204 a[1][2]=t[7]; 205 a[2][0]=t[9]; 206 a[2][1]=t[10]; 207 a[2][2]=t[11]; 208 } 209 break; 210 } 211 212 } 213 break; 214 } 215 // printf("a[i][j] ");// 216 // for(i=0;i<3;i++)// 217 // for(j=0;j<3;j++)// 218 // printf("%c",a[i][j]);// 219 // printf("\n");// 220 flag=0; 221 c=0; 222 for(i=0;i<3;i++) 223 { 224 if(flag) 225 break; 226 for(j=0;j<3;j++) 227 { 228 if(a[i][j]==‘0‘) 229 { c++; 230 } 231 else 232 { 233 flag=1; 234 break; 235 } 236 } 237 } 238 c=9-c; 239 cout=0; 240 C=0; 241 for(i=2;cout<c;i--) 242 { 243 for(j=2;cout<c;j--) 244 { 245 C=C+(int)pow(10,cout)*(a[i][j]-‘0‘); 246 cout++; 247 } 248 } 249 if(f==1) 250 C=-C; 251 if(k==1) 252 A=C; 253 else if(k==2) 254 B=C; 255 }
-----------------------------------------------------------------------------------------
小结:
----------------------------------------------------------------------------------------------
资料查询:
二维数组指针:http://www.cnblogs.com/carekee/articles/1948326.html
int类型长度:http://bbs.bccn.net/thread-364170-1-1.html
字符串初始化:http://blog.csdn.net/ace_fei/article/details/7448368
标签:style blog http color strong 数据
原文地址:http://www.cnblogs.com/qq1029579233/p/3855570.html