- ベストアンサー
C言語にすごく悩んでいます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
以下のURLに、Hit&Blowのプログラムとアルゴリズムがありますので、参考にしてください。 そのまま引用せず、「#define N 4」などとして、N桁でも対応できるように改造してみては、如何でしょうか。
関連するQ&A
- C言語のプログラミングについてです><
今C言語のプログラミングの勉強をしているのですが、わからないプログラムがでてきたので教えてくださる方がいらっしゃれば、ご教授願いたいです。 数当てゲームの作成 1~9(0は除く)のなかから4つの異なる数字をランダムで選択し、4桁の数をつくる。ユーザは4つの数字の並びを入力して、作られた数を当てる。 ユーザの入力した数と作られた数を比較して、同じ数字が同じ桁にある場合は"Hit"というヒントを与える。また、同じ数字が異なる桁にある場合は"Blow"というヒントを与える。すなわち、作られた数が5849で、ユーザが4829という数値を入力した場合、"2 Hit 1 Blow"というヒントが表示されるようにする。 ユーザは10回まで、入力するチャンスが与えられる。 といった感じのプログラミングなんですが、C言語初心者である自分にはまったくわかりません; ; どなたかわかる方がいらっしゃれば、助けていただけないでしょうか?よろしくお願いします!
- 締切済み
- その他(学問・教育)
- 数あて(ゲームです)
友達と2人で、今マイブームの数あてゲームをしていました。coinsidence of number を略して CN と呼んでいるのですが、 どういったゲームかというと、みなさんもやったことあるかもしれませんが、好きな数字を自分の紙に書いておいて、相手が言った同じ桁の数字の 数字と場所が一致している数字が一つある場合は 1ヒット。。 同じ数字があるが場所がちがう数字が一つある場合は1ボール。このルールに従って 交互に進めていき相手の数字をさきにあてたほうが勝つと言うゲームです。 説明が下手なので例をあげると 僕の数字が 3456 だったとします。 相手が4258といったとすると 5が同じ場所にあるので1ヒット 4はありますが場所がちがうので 1ボール よって 1ヒット 1ボール と僕はいいます。 これを交互にやっていくと、相手の数字がなになのか徐々に絞られます。 このようなゲームなのですが、ここで質問なんです。 3197 1ヒット 4062 2ボール 3405 1ヒット1ボール 3846 1ヒット これらの情報だけで僕の選んだ四桁の数字を割り出すことはできるでしょうか? 友達が見事にあてたんです。考えてみましたがわけがわかりません。 あらかじめ僕の数字がわかっていると考えにくいでしょうから答えは書きません。後で要求してください。 おねがいします!!!
- ベストアンサー
- 数学・算数
- 高(1)男子 初めてC言語でコードを書きました!!
C言語を独学し始めた高校一年男子です。 「猫でもわかる C言語プログラミング」という本で勉強しています。 その本のポインタなどの難しいところを除いて 一通り読んで1~100までの数を当てる数当てゲームを作ってみました! これまでは、本に書かれていることを写してやっていたので、自分で組むのは初めてです。 これからは、もっと高度なプログラムやゲームを作っていきたいと思っています。 それを踏まえて、今後どのようなことを気をつけて書いていけばいいかなどの アドバイスをコードを見てしてもらいたいのですが、 だれか、お願いできないでしょうか? これが、そのコードです↓ //<if,goto,rand関数を使った数当てゲーム>// #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { printf("いまから数当てゲームをします\n"); R: printf("0~100のうちどれが答えなのか当ててください\n"); int Q,A,Y,i; srand((unsigned)time(NULL)); Q=rand()%100+1; for(i=1; i<6; i++) {printf("あと%d回で当ててください!\n",6-i); scanf("%d",&A); if(Q<A){printf("もっと小さい数です\n"); } else if(Q>A){printf("もっと大きい数です\n"); } else{printf("正解です!!(^O^)/\nもう一回やりますか??\nはい→1\nいいえ→それ以外の数字\n選択してください\n"); scanf("%d",&Y); if(1==Y){goto R;} if(1!=Y){}break;}} printf("\n「「「終了します」」」\n"); return 0; } 長くなりましたが、アドバイスお願いします m(._.)m
- ベストアンサー
- C・C++・C#
- C言語の課題が分からなくて困っています。
http://www.picamatic.com/view/5868047_かかか/ URLの画像のような数当てゲームのプログラムを作成しているのですが、(1)~(5)の部分が分からなくて困っています。 面倒だとは思いますが、教えていただけないでしょうか。 #include<stdio.h> #include<stdlib.h> #include<time.h> int mani(void){ int i,x,y; srand((unsigned int)time(NULL)); (1) //1~1000の数をランダムに作成 y=0; //入力回数yを0にセットする for(;;){ //break文があるまで以下の処理を繰り返す printf("1以上1000以下の整数を入力してください。\n"); (2) //答えの入力 y=y+1; //入力回数yを1を増やす (3) //あたりの場合 printf("%d回目で当たりました。\n",y); (4) } else{ //外れの場合 (5) printf("違います。もっと大きな数です。\n"); else printf("違います。もっと小さな数です。\n"); } } return 0; }
- ベストアンサー
- C・C++・C#
- C言語で何か作ってみようと思います
こんばんは。 現在C言語を学んでおり、折角学んでいるのだから何か作ってみようと思っているものです。 そこでご質問があるのですが、C言語で何か(ゲーム、フリーソフト、メカ制御等)作っている過程を紹介しているサイト、書籍等を教えて頂けませんでしょうか? テトリスは作ったことがあります。 フリーソフトは作ったことがないので、作り方を紹介しているものがあれば作成したいと考えております。 メカ制御は、ロボット等のメカの簡単な動きをプログラムで制御してみたいなと思い、加えてみました。 その他、皆様がC言語で何かを作ってみた時に利用したものを教えて頂ければ幸いです。 以上、よろしくお願い致します。
- ベストアンサー
- C・C++・C#
- プログラミングソフトパスカルを使って。
パスカルを使って数当てゲーム(1~999まで)のプログラムを作成したいのですが、うまくいきません。インターネットで検索してもプログラム自体を載せてるやつがないので、わかる方がいらっしゃったらよろしくお願いします。万年カレンダーのプログラムも同時に回答募集します。
- ベストアンサー
- その他(プログラミング・開発)
お礼
本当にありがとうございます。問題は無事解決しました。(^o^)