「コケいろ-Keitai Message」の編集履歴(バックアップ)一覧はこちら

コケいろ-Keitai Message」(2010/04/25 (日) 14:20:07) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

// 25分 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<stdlib.h> int main(){ char str[1024+1]; int TestCaseNum; // 文字列の数を記憶 scanf("%d",&TestCaseNum); for(int i=0 ; i<TestCaseNum ; i++){ scanf("%s",str); // 1行読み込み int len = strlen(str); // 文字数 int renzoku; // 同じボタンが連続で押された回数 int CharKind = (int)(str[0]-'0'); // 連続で押されている文字 bool InitFlag = true; // 初期化フラグ for(int j=0 ; j<len ; j++){ if( InitFlag ){ InitFlag = false; renzoku = 0; CharKind = (int)(str[j]-'0'); // 連続で押されている文字 } char buf = str[j]; if( buf!='0' ){ // 確定ボタン以外なら連続数値を増加 renzoku++; } else{ if( renzoku!=0 ){ int num; // 結局何番目の文字なのか switch( CharKind ){ case 2: case 3: case 4: case 5: case 6: case 8: num = (renzoku-1)%3; // 3文字ループボタン break; case 7: case 9: num = (renzoku-1)%4; // 4文字ループボタン break; case 1: num = (renzoku-1)%5; // 5文字ループボタン break; } char Output[9][8]={ {".,!? "}, // 最後にスペースがある {"abc"}, {"def"}, {"ghi"}, {"jkl"}, {"mno"}, {"pqrs"}, {"tuv"}, {"wxyz"}, }; printf("%c",Output[CharKind-1][num]); // 1文字出力 } InitFlag = true; } } puts(""); } }

表示オプション

横に並べて表示:
変化行の前後のみ表示:
記事メニュー
目安箱バナー