2分探索木を用いて数字当てゲームを作っています。
以下のコードで実行すると解答回数の上限で正解した場合でも
"残念!"が出てしまいます。
ex)
数値を入力してください:49
正解!残念!正解は49でした
どこを改善したら良いか教えていただけるとありがたいです。
C
1コード 2#include <stdio.h> 3#include <stdlib.h> 4#include<time.h> 5 6int main(void){ 7 srand(time(NULL)); 8 printf("レベルを選んでください\n"); 9 printf("(1)1~9 (2)1~99 (3)1~999 (4)1~9999\n"); 10 11 int i,k; 12 scanf("%d",&i); 13 int ans; 14 15 if(i == 1){ 16 k = 9; 17 ans == 1 + rand()%9; 18 } 19 if(i == 2){ 20 k = 99; 21 ans == 1 + rand()%99; 22 } 23 if(i == 3){ 24 k = 999; 25 ans == 1 + rand()%999; 26 } 27 if(i == 4){ 28 k = 9999; 29 ans == 1 + rand()%9999; 30 } 31 int count = 0; 32 do{ 33 k = k/2; 34 count++; 35 }while(k != 1); 36 37 int kaisuu =count; 38 int kaitou,miss; 39 miss = 0; 40 41 do{ 42 printf("数値を入力せよ:"); 43 scanf("%d",&kaitou); 44 if(kaitou == ans) 45 printf("正解!"); 46 else{ 47 if(kaitou > ans) 48 printf("もっと小さいよ\n"); 49 else 50 printf("もっと大きいよ\n"); 51 miss++; 52 }while(ans != kaitou &&kaisuu--); 53 if(count == miss) 54 printf("残念!正解は%dでした\n"); 55 return 0; 56}
回答2件
あなたの回答
tips
プレビュー