- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define SMAX 1024
int main(void)
{
int a,c,i,n,p;
// ボタン2を2回押した b[2][2] -> 'b'
char b[10][6]={""," .,!?","cab","fde","igh","ljk","omn","spqr","vtu","zwxy"};
// 各ボタンで表す文字数
int r[10];
char s[SMAX];
// 各ボタンで表す文字数を計算する
for(i=0; i<10; i++){
r[i]=strlen(b[i]);
// printf("%d ", r[i]);
}
//printf("\n");
scanf("%d", &n);
for(i=0; i<n; i++){
scanf("%s", s);
p=0; //何文字目を読んでいるか表す変数
while(s[p]){
c=0;
a=s[p]-'0'; //今読んでる文字を整数に変換
if(s[p]!='0' && isdigit(s[p])){ // 0以外だったら
while(s[p]!='0'){ // 0が来るまで文字数をカウントする
c++;
p++;
}
// ボタンaをc回押したときの文字を表示
printf("%c", b[a][c % r[a]]);
}
p++;
}
printf("\n");
}
return(0);
}