ここから本文です

「合計 10 個の 1 から5までの整数値の入力を求め、それぞれの数の個数を表示...

アバター

ID非公開さん

2019/7/815:10:04

「合計 10 個の 1 から5までの整数値の入力を求め、それぞれの数の個数を表示するプログラムを配列を使って作成せよ.ただし,1 から5までの整数値以外が入力された場合には”invalid number!” と表示し

て入力にはカウントしないこと.
<ヒント>配列は 1 から5までの整数値のそれぞれの数をカウントするために利用すること.例えば,a[5] という配列を用意して,a[0] に—1—の個数を入れるなど.」

という課題に取り掛かっていたのですが、「配列を数をカウントするために使う」というのがよくわかりません…。どのように使えば良いのでしょうか?
先程書いたプログラムを補足に貼っておきます。(このプログラムは、配列を使って数をカウントしていないので0点らしいです。)

補足#include<stdio.h>int main(){
int i,n,b,c,d,e,f,a[10];

for(i=0;i<10;i++){
do{
scanf("%d",&n);
a[i]=n;
}
while(n>=1&&n<=5);
printf("invalid number\n");
}

for(i=0;i<10;i++){
if(a[i]==1){
b+=1;}
else if(a[i]==2){
c+=1;}
else if(a[i]==3){
d+=1;}
else if(a[i]==4){
e+=1;}
else if(a[i]==5){
f+=1;}
}
printf("1: %d\n",b);
printf("2: %d\n",c);
printf("3: %d\n",d);
printf("4: %d\n",e);
printf("5: %d\n",f);
}

閲覧数:
26
回答数:
2

違反報告

ベストアンサーに選ばれた回答

mei********さん

2019/7/816:42:45

#include<stdio.h>
int main(){
int i,n,b=0,c=0,d=0,e=0,f=0,a[10];

for(i=0;i<10;){
//do{
printf("%d回目の入力",i+1);
scanf("%d",&n);
if(n<1 || n>=6){
printf("invalid number");
continue;}
a[i]=n;
i++;
}
//while(n>=1&&n<=5);
//printf("invalid number\n");
//}

for(i=0;i<10;i++){
if(a[i]==1){
b+=1;}
else if(a[i]==2){
c+=1;}
else if(a[i]==3){
d+=1;}
else if(a[i]==4){
e+=1;}
else if(a[i]==5){
f+=1;}
}
printf("1: %d\n",b);
printf("2: %d\n",c);
printf("3: %d\n",d);
printf("4: %d\n",e);
printf("5: %d\n",f);
}

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜1件/1件中

プロフィール画像

カテゴリマスター

aki********さん

2019/7/816:21:25

「配列を数をカウントするために使う」

そのままの意味です。
配列を作って、そこに数値の出た回数を記録します。

分からなければ、とりあえず、配列の事は忘れて、
「1」が入力された回数を答えるプログラムを作る所をイメージしてみて下さい。
その回数はどうやって記録しますか?

その次には、1と2が出た回数を、それぞれ個別に数えるプログラムを考えてみて下さい。

とりあえず、他の細かい所はその後で。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる