使用する変数が決められており、num,I,maxN,maxIです。
①5つの商品の商品名は配列Sにあらかじめ格納。流れ図中で配列Sの要素を出力すると商品名が出力。
②人気投票では商品A〜Eを0〜4に対応させその番号を入力。
この入力は(-1)になるまで行われ、入力ミスはないものと考える。
③入力された番号に応じ、配列N(要素数5個)に各商品の投票数を集計(3が入力されたらDの得票数を集計するN[3]に1加算) 配列Nの要素は集計前に全て0で初期化
④すべての入力が終わったら、Nに集計された投票数の最大値を求め、もっとも多かった商品名を出力。
得票数が同じものがあった場合は番号(添字)の小さい商品を出力。
#include <stdio.h>
int main(void){
int num,I,maxN,maxI;
char N[]="ABCDE";
I=0;
printf("投票を入力\n");
scanf("%d",&num);
while(num!=(-1)){
N[I]=num;
I=I++;
scanf("%d",&num);
}
maxI=(-1);
maxN=3;
for(I=0;I<num;I++){
if(maxN<N[I]){
maxN=N[I];
maxI=I;
}
}
printf("もっとも票が入ったのは%d(数字)\n",maxI+1);
printf("人気商品\n");
printf("商品%p\n",&maxI+1);
return 0;
}
本来なら下記のように打つと、
「もっとも票が入ったのは3(数字)
人気商品
商品D」
と表示されます。
投票を入力
3
0
3
3
1
-1
もっとも票が入ったのは0(数字)
人気商品
商品0018FF54
続行するには何かキーを押してください . . .
よろしくお願い致します。