• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プログラムの課題で分からない問題があるので、ヒントを教えていただきたい)

プログラムの課題で分からない問題があるので、ヒントを教えていただきたい

このQ&Aのポイント
  • プログラムの課題で分からない問題があるので、ヒントを教えていただきたいです。
  • for文、if文、配列などを応用してプログラムをつくるものなのですが、配列をうまく理解してないので、どういう風に配列に代入して出力するかアドバイスお願いします。
  • 1~5の数字をキーボードから入力し、それに対応した英語を表示します。ただし単語は配列に初期化しておくこと(※swich-caseを使わずに) キーボードから英語の大文字を1文字入力して、その文字がアルファベットの何文字目にあたるかを表示します キーボードからアルファベットの小文字を1文字入力→大文字に変換して表示します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

(1) #include <stdio.h> int main() { int idx; char *eigo[5] = {"one", "two", "three", "four", "five"}; idx = getchar(); if ((idx >= '1') && (idx <= '5')){ puts(eigo[idx - '1']); } else { puts("input number NG!"); } } (2) #include <stdio.h> int main() { int idx; idx = getchar(); if ((idx >= 'A') && (idx <= 'Z')){ printf("「%c」は %d 番目の文字\n", idx, idx - 'A' + 1); } else { puts("input charactor NG!"); } } (3) #include <stdio.h> int main() { int idx; idx = getchar(); if ((idx >= 'a') && (idx <= 'z')){ printf("「%c」の大文字は「%c」\n", idx, idx - 'a' + 'A'); } else { puts("input charactor NG!"); } }

komatulong
質問者

お礼

ご回答ありがとうございます。 少し分からない部分がありましたが、よく見ると知っている動作をする ものだったりするので、仕組みがよく理解できました。

その他の回答 (1)

  • ogohs
  • ベストアンサー率33% (5/15)
回答No.1

>・1~5の数字をキーボードから入力し、それに対応した英語を表示。ただし単語は配列に初期化しておくこと(※swich-caseを使わずに) これについて、ポインタや細かいことを気にしなければ下記でもいけます。 参考に他の「1文字入力→大文字」もがんばってみてください。 #include <stdio.h> int main() { int input_data=0; char input_key[1]; int count; //・1個目の配列の初期化 char a[6] = {'a','b','c','d','e'}; char b[6] = {'f','g','h','i','j'}; char c[6] = {'k','l','m','n','o'}; char d[6] = {'p','q','r','s','t'}; char e[6] = {'u','v','w','x','y'}; //・1個目の1~5の入力 printf("input (1-5):",c); scanf("%d",&input_data); //・1個目の英語の表示 if ( input_data == 1 ) printf("%s\n",a); else if ( input_data == 2 ) printf("%s\n",b); else if ( input_data == 3 ) printf("%s\n",c); else if ( input_data == 4 ) printf("%s\n",d); else if ( input_data == 5 ) printf("%s\n",e); else { printf("入力ミス\n"); return 1; } return 0; }

komatulong
質問者

お礼

ご回答ありがとうございます。 このプログラムを応用すると複数ケタの数字を入力したときに 対応した英語を表示するプログラムも作れそうですね。

関連するQ&A

専門家に質問してみよう