こちらまだC言語を勉強したてであまり知識がありません。どなたかお力をお貸しください。
全部で8名から代表者を3名を無作為に選びたい。一様乱数を0から7の間で発生させる。それを100回試行して最も回数の多い順に並べ替えを行って表示した例である。下のような結果を得るプログラムを作成せよ。
第1位 16回 Eさん
第2位 15回 Dさん
第3位 15回 Cさん
第4位 14回 Bさん
第5位 13回 Gさん
第6位 11回 Hさん
第7位 8回 Aさん
第8位 8回 Fさん
#include<stdio.h>
#include<math.h>
#include<string.h>
main(){
int i,j,n,count[8];
unsigned char x;
int w;
char *work;
char *name[8]={"Aさん","Bさん","Cさん","Dさん","Eさん","Fさん","Gさん","Hさん"};
// srand(time(NULL));
for(n=0;n<8;n++){
count[n]=0;
}
for(i=1;i<=100;i++){
x=rand()%8;
count[x]++;
}
for(i=0;i<7;i++){
for(j=i+1;j<8;j++){
ifj]){
work=count[i];
count[i]=count[j];
count[j]=work;
}
}
}
for(i=0;i<8;i++){
printf("第%d位 %3d回 %10s\n",i+1,count[i],name[i]);
}
}
第〜位、〜回はちゃんと表示されるのですが、最後の〜さんがAーHまで順番になってしまいます。
助けてください。よろしくおねがいします。
No.2ベストアンサー
- 回答日時:
変数nameの内容を全然操作していません。
初期値のままなので、、、> 最後の〜さんがAーHまで順番になってしまいます。
となるのは当然かと。(^^;
nameをどのように扱えばよいか、countとnameをどのようなデータ構造としたら処理効率がよいかを考えられるとよいです。
で、そういったことは使用するプログラミング言語に完全には依存しない部分かと思います。
例えば名前と回数がペアになったような(論理的な)データ構造を考え、処理手順を日本語で(1), (2), (3), ... とかいった箇条書きで設計されるとよいでしょう。
フローチャートなどのチャート図をご存知でしたらそれで書くのが楽で効率的でしょう。
参考まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- C言語・C++・C# C言語 3 2022/11/09 13:27
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Application.ScreenUpdating = ...
-
実行時エラー 3020の対策
-
【メモリ不足で落ちる(python)】
-
パイソンのクラスについて
-
「*:*」って何を意味するのでし...
-
vscode 文字化け
-
UWSC:ポップアップウインドウ...
-
パイソンプログラミング
-
パイソンのクラスのブログラム
-
VBAで特殊文字を出力したい
-
シェイクスピア 英文 タトゥー
-
VB6のLSETをVB2005で実現するに...
-
エクセルVBA シート名の部分一...
-
C++ コマンドプロンプトでの入...
-
Option Strinct On のなかでの...
-
構造体の各データの表示につい...
-
JSONで文字列が長い時
-
formで特定のinputを送信しない...
-
<SELECT>タグの折り返し
-
16進の10進変換について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Application.ScreenUpdating = ...
-
実行時エラー 3020の対策
-
[python] 文字列を変数名として...
-
ACCESS テキストボックスを隙...
-
FindFirst を複数条件で検索
-
【メモリ不足で落ちる(python)】
-
VBA他のブックから値のみ貼付す...
-
構造体の各データの表示につい...
-
パイソンプログラミング
-
VBAでPDFのコピーとリネームを...
-
phpでボタンを押したときに変数...
-
vscode 文字化け
-
vbaでxmlからNodeListでデータ...
-
コンボボックスのtag情報の取得...
-
パイソンのクラスのブログラム
-
「*:*」って何を意味するのでし...
-
構造体の変数の値を、動的に取...
-
パイソンのクラスについて
-
C言語について
-
VBAで特殊文字を出力したい
おすすめ情報