日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言简单的24点游戏,C语言解24点游戏程序

發布時間:2024/7/23 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言简单的24点游戏,C语言解24点游戏程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

該樓層疑似違規已被系統折疊?隱藏此樓查看此樓

前幾天在微博上看到24點的游戲,6 6 6

10。算了很久是在算不出來,最后我想我何不寫一個小程序解決它?說做就做,我剛開始的想法很簡單,就是列舉4個數的所有可能的表達式組合,然后計算表達

式是否等于24,如果是的話就找到了答案。但我花了一晚的時間都沒有寫出程序來…第二天我改變了思路,這也是從一些答案里得到的靈感。例如

一個3 8 3 8,它的答案是 3/(3 –

8/3)。要得到24這個答案,大笨兔想如果答案的第一個數是3,那么它要加多少,減多少,乘多少,除多少才是24?這樣我們就把就24的問題轉換成了規

模更小的問題,我們就這樣求下去,直到最后一個數字,然后判定是否是正確答案。我使用[code lang="js"]

typedef struct EXPREESSIONG{

float numbers[4];

char operation[4];

}exp;

[/code]來

保存一個表達式,numbers數組保存4個操作數,operation保存3個操作符。這里數字我使用float保存,以前使用的是int,但我發現

3/5的值是0。于是就改成了float,不過這里也會有一個問題,比如程序讀入 5 5 5 1 是得不到答案的。但是它確實有答案5/(5 –

1/5)。后來調試了才發現了一個問題:如果我定義兩個變量float number1,number2,分別賦值 number1 = 1.0,number2 = 5.0;然后判斷 1.0/5.0 == numbers1/number2 。這個表達式的值是0(在我的cfree上是這么多)。[code lang="js"]

#include <stdio.h>

int main()

{

float number1,number2;

number1 = 1.0;number2 = 5.0;

printf("%d\n",(1.0/5.0) == (number1/number2));

return 0;

}

[/code]輸出0。但是你將5.0改成2.0的話它的值又是1.所以我的程序在這里就不靈了,我不是太清楚浮點數的運算會不會使精度減少。(這是一個需要解決的問題),但是我的遞歸程序邏輯是正確的。程序的源碼在這里:點擊下載http://download.csdn.net/detail/dabentuaipangou/4409732。

(全文完)

總結

以上是生活随笔為你收集整理的c语言简单的24点游戏,C语言解24点游戏程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。