• 締切済み

アルファベットから航空用アルファベットへの変換作業。

普通のアルファベットを入力した時に航空用アルファベットに変換したいのですがうまくできません。何回か書いてみたのですが、初心者の私には難しいです。航空用のアルファベットはA,Alpha B,Bravo C,Charlie D,Delta E,Echo F,Foxtrot G,Golf H,Hotel I,India J,Juliet K,Kilo L,Lima M,Mike N,November O,Oscar P,Papa Q,Quebec R,Romeo S,Sierra T,Tango U,Uniform V,Victor W,Whiskey X,Xray Y,Yankee Z,Zuluとなっています。Output画面でEnter something:と表示させそこに例えばHelloと打ち込んだら航空用のアルファベットは:Hotel Echo Lima Lima Oscarと表示できるようにしたいんです。ちょっとできなくて困ってるんでよろしくお願いします。

みんなの回答

回答No.2

> ちょっとできなくて困ってるんでよろしくお願いします。 なにができないのですか? const char* data[26] = { "Alpha", "Bravo", ... , "Zilu" }; を用意し、入力文字列をすべて大文字に変換し、 for ( 入力された各文字 ch に対し ) {  data[i][0] == ch なるiを見つけ、data[i]を出力 } これでできあがりですけど。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

1つの方法 #include <stdio.h> #include <ctype.h> char *table[]={ "Alpha", "Bravo", "Charlie", "Delta", "Echo", "Foxtrot", "Golf", "Hotel", "India", "Juliet", "Kilo", "Lima", "Mike", "November", "Oscar", "Papa", "Quebec", "Romeo", "Sierra", "Tango", "Uniform", "Victor", "Whiskey", "Xray", "Yankee", "Zulu" }; void main(void){ char inpbuff[64]; char *p; printf("Enter something:"); p=gets(inpbuff); while(*p){ if(isalpha(*p)) printf("%s ",table[toupper(*p)-'A']); p++; } }

関連するQ&A