こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

プログラムの課題で分からない問題があるので、ヒントを教えていただきたいです。
ちなみにfor文、if文、配列などを応用して(勿論ぜんぶ使わなくても良いです)プログラムをつくるものなのですが、配列をうまく理解してないので、どういう風に配列に代入して出力するかアドバイスお願いします。

・1~5の数字をキーボードから入力し、それに対応した英語を表示。ただし単語は配列に初期化しておくこと(※swich-caseを使わずに)

・キーボードから英語の大文字を1文字入力して、その文字がアルファベットの何文字目にあたるかを表示する

・キーボードからアルファベットの小文字を1文字入力→大文字に変換して表示する
多くてすみません。

投稿日時 - 2010-06-17 18:50:26

QNo.5975714

すぐに回答ほしいです

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

(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!");
}
}

投稿日時 - 2010-06-18 10:21:13

お礼

ご回答ありがとうございます。

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

投稿日時 - 2010-06-21 18:28:56

このQ&Aは役に立ちましたか?

9人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.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;
}

投稿日時 - 2010-06-17 19:43:02

お礼

ご回答ありがとうございます。

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

投稿日時 - 2010-06-21 18:18:25

あなたにオススメの質問