電子書籍の厳選無料作品が豊富!

普通のアルファベットを入力した時に航空用アルファベットに変換したいのですがうまくできません。何回か書いてみたのですが、初心者の私には難しいです。航空用のアルファベットは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と表示できるようにしたいんです。ちょっとできなくて困ってるんでよろしくお願いします。

A 回答 (2件)

> ちょっとできなくて困ってるんでよろしくお願いします。



なにができないのですか?

const char* data[26] = { "Alpha", "Bravo", ... , "Zilu" };

を用意し、入力文字列をすべて大文字に変換し、
for ( 入力された各文字 ch に対し ) {
 data[i][0] == ch なるiを見つけ、data[i]を出力
}

これでできあがりですけど。
    • good
    • 0

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++;
}
}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!