トップ 一覧 Farm 検索 ヘルプ RSS ログイン

2005ra1.cの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
 #include <stdio.h>
 #include <string.h>
 
 #define SMAX 1025
 
 int main(void)
 {
 	int c,i,n,p;
 	char s[SMAX];
 	
 	// 文章の数
 	scanf("%d", &n);
 	for(i=0; i<n; i++){
 		scanf("%s", s);
 		
 		p=0; //何文字目を読んでいるか表す変数
 		while(s[p]){ // 文字列の一番最後で終了
 			switch(s[p]){
 			 case '1':
 				c=0;
 				while(s[p]!='0'){
 					c++; p++;
 				}
 				switch(c%=5){
 					case 1: putchar('.'); break;
 					case 2: putchar(','); break;
 					case 3: putchar('!'); break;
 					case 4: putchar('?'); break;
 					case 0: putchar(' '); break;
 				}
 				break;
 			 case '2':
 				c=0;
 				while(s[p]!='0'){
 					c++; p++;
 				}
 				switch(c%=3){
 					case 1: putchar('a'); break;
 					case 2: putchar('b'); break;
 					case 0: putchar('c'); break;
 				}
 				break;
 			 case '3':
 				c=0;
 				while(s[p]!='0'){
 					c++; p++;
 				}
 				switch(c%=3){
 					case 1: putchar('d'); break;
 					case 2: putchar('e'); break;
 					case 0: putchar('f'); break;
 				}
 				break;
 			 case '4':
 				c=0;
 				while(s[p]!='0'){
 					c++; p++;
 				}
 				switch(c%=3){
 					case 1: putchar('g'); break;
 					case 2: putchar('h'); break;
 					case 0: putchar('i'); break;
 				}
 				break;
 			 case '5':
 				c=0;
 				while(s[p]!='0'){
 					c++; p++;
 				}
 				switch(c%=3){
 					case 1: putchar('j'); break;
 					case 2: putchar('k'); break;
 					case 0: putchar('l'); break;
 				}
 				break;
 			 case '6':
 				c=0;
 				while(s[p]!='0'){
 					c++; p++;
 				}
 				switch(c%=3){
 					case 1: putchar('m'); break;
 					case 2: putchar('n'); break;
 					case 0: putchar('o'); break;
 				}
 				break;
 			 case '7':
 				c=0;
 				while(s[p]!='0'){
 					c++; p++;
 				}
 				switch(c%=4){
 					case 1: putchar('p'); break;
 					case 2: putchar('q'); break;
 					case 3: putchar('r'); break;
 					case 0: putchar('s'); break;
 				}
 				break;
 			 case '8':
 				c=0;
 				while(s[p]!='0'){
 					c++; p++;
 				}
 				switch(c%=3){
 					case 1: putchar('t'); break;
 					case 2: putchar('u'); break;
 					case 0: putchar('v'); break;
 				}
 				break;
 			 case '9':
 				c=0;
 				while(s[p]!='0'){
 					c++; p++;
 				}
 				switch(c%=4){
 					case 1: putchar('w'); break;
 					case 2: putchar('x'); break;
 					case 3: putchar('y'); break;
 					case 0: putchar('z'); break;
 				}
 				break;
 			}
 			p++;
 		}
 		printf("\n");
 	}
 	
 	return(0);
 }