四道水题,题目过于简单,实在没什么可讨论的。
10921 - Find the Telephone
1 #include <stdio.h> 2 int main() 3 { 4 char ch[100]; 5 int i; 6 int code[26] = {2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,9}; 7 while(scanf("%s", ch) == 1){ 8 for(i = 0; ch[i]; i++){ 9 if(ch[i] >= 'A' && ch[i] <= 'Z') 10 printf("%d", code[ch[i] - 'A']); 11 else 12 printf("%c", ch[i]); 13 } 14 printf("\n"); 15 } 16 return 0; 17 }
10222 - Decode the Mad man
1 #include <stdio.h> 2 #include <string.h> 3 int main() 4 { 5 char ch1[][20]={"`1234567890-=","qwertyuiop[]\\","asdfghjkl;'","zxcvbnm,./"}; 6 int c; /*getchar函数的返回值就是int,否则无法返回-1*/ 7 int i, j, flag; 8 while((c = getchar()) !=EOF){ /*对于不定容量的字符流,还是不要默认为字符串的好*/ 9 flag = 0; 10 if(c >= 'A' && c <= 'Z') 11 c += 32; 12 for(i = 0; i < 4; i++){ 13 for(j = 0; ch1[i][j]; j++) 14 if(ch1[i][j] == c){ 15 flag = 1; /*找到相应字符*/ 16 putchar(ch1[i][j-2]); 17 break; 18 } 19 if(flag) 20 break; 21 } 22 if(flag == 0) 23 putchar(c); 24 } 25 return 0; 26 }
686 - Goldbach's Conjecture (II)
1 #include <stdio.h> 2 #include <math.h> 3 int is_prime(int a); 4 int main() 5 { 6 int n, m, num, flag, i; 7 while(scanf("%d", &n) == 1 && n){ 8 num = 0; 9 flag = 0; 10 m = n; 11 n /= 2; 12 for(i = 2; i <= n; i++) 13 if(is_prime(i) && is_prime(m-i)) 14 num++; 15 printf("%d\n", num); 16 } 17 return 0; 18 } 19 int is_prime(int a) 20 { 21 int flag = 1, i; 22 int n = (int)sqrt((double)a); 23 for(i = 2; i <= n; i++) 24 if(a % i == 0){ 25 flag = 0; 26 break; 27 } 28 return flag; 29 }
10970 - Big Chocolate
1 #include <stdio.h> 2 static int cut(int n, int m); 3 int main() 4 { 5 int n, m; 6 while(scanf("%d%d", &n, &m) == 2) 7 printf("%d\n", cut(n,m)); 8 return 0; 9 } 10 static int cut(int n, int m) 11 { 12 return (n - 1) + n * (m - 1); 13 }