C primer plus 第六版 第八章 第五題 程式設計練習答案
/*
本程式應題目而建立。
題目要求: 修改程式清單中的 8.4 猜數字程式。 詳見數 226 頁。
讓程式使用更智慧的猜測策略。使用 二分查詢 策略。
*/
#include<stdio.h>
#include<ctype.h>
#define MAX 100
int main(void)
{
int count = 50; // 儲存程式計算結果。程式輸出的 初始值 是 55 。
int input = 0; // 接收使用者輸入。
int i = 0; // 計算用。
int j = 0; // 計算用。
// 旁白部分 。
printf("Welcome to this small program . Now we are playing a game . I wish you can enjoy in it .\n");
printf("The rule is that : The program will guess your imagine number and output that number to show you .\n");
printf("If number is bigger than your imagine , please enter 'big' or 'b' to tell program . \n"
“And it will guess again for another number to show you .\n");
printf("If number is smaller than your imagine , please enter 'small' or 's' to tell program . \n"
"And it will guess again for another number to show you .\n");
/*——————————————————————————————————分割線,太長了 !—————————————————————————————————————————————————*/printf("If I am right , please input 'right' . And program will close .\n");
printf("If you are tirred and Don't wan t to play this game . You are just enter 'q' to quit program .\n");
printf("Game start ! The program will show you the number for your imagine now !\n");
/*——————————————————————————————————分割線,太長了 !—————————————————————————————————————————————————*/
printf("I guess the number is 50 ! Am I right ? Please input :");
input = getchar();
getchar(); //讀取換行符。避免程式讀取多餘字元而引發錯誤。
while ( input != 'q' )
{
if (input == 's' )
{
// Smaller , 小於使用者猜測數字的情況下。
j = count ;
i = MAX - count ;
count += (int) i / 2 ;
printf("\nOk , I guess again ! The number is %d .Am I right ? Please input :", count );
}
else if (input == 'b' )
{
// Bigger , 大於使用者猜測數字的情況下。
count = (int) (count - j ) / 2 + j ;
printf("\nOk , I guess again ! The number is %d .Am I right ? Please input :", count );
}
else if (input == 'r' )
{
// Right , 等於使用者猜測數字的情況下。
printf("\nAlright , I guess right at last !\n");
break;
}
else
{ //莫名情況。
printf("\nWORRING ! This program is failed to run ! And it will close for now ! \n");
break;
}
input = getchar();
getchar(); //讀取換行符。避免程式讀取多餘字元而引發錯誤。
}
printf("Game is over ! Welcome to here next time ! \n");
printf("Bye !\n");
//暫停頁面專用。
getchar();
getchar();
return 0;
}
相關文章
- C primer plus 第六版 第八章 第四題 程式設計練習答案程式設計
- C primer plus 第六版 第八章 第六題 程式設計練習答案程式設計
- C primer plus 第六版 第八章 第七題 程式設計練習答案程式設計
- C primer plus 第六版 第八章 第八題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第五題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第五題 程式設計練習答案程式設計
- C primer plus 第六版 第六章 第五題 程式設計練習答案程式設計
- C primer plus 第六版 第九章 第五題 程式設計練習答案程式設計
- C Primer Plus (第五版) 第五章 程式設計練習 答案程式設計
- C primer plus 第六版 第十一章 第九題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第十題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第六題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第七題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第八題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第一題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第二題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第三題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第四題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第十一題題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第十三題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第十四題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第十五題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第六題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第七題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第八題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第九題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第十題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第二題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第一題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第三題 程式設計練習答案程式設計
- C primer plus 第六版 第十章 第四題 程式設計練習答案程式設計
- C primer plus 第六版 第十一章 第十二題 程式設計練習答案程式設計
- C primer plus 第六版 第六章 第二題 程式設計練習答案程式設計
- C primer plus 第六版 第六章 第三題 程式設計練習答案程式設計
- C primer plus 第六版 第六章 第四題 程式設計練習答案程式設計
- C primer plus 第六版 第六章 第六題 程式設計練習答案程式設計
- C primer plus 第六版 第六章 第七題 程式設計練習答案程式設計
- C primer plus 第六版 第六章 第八題 程式設計練習答案程式設計