c語言擲骰子
❶ 用c語言編寫一個模擬擲骰子游戲謝謝了,大神幫忙啊
實踐1:函數編程練習 1.擲骰子游戲 編寫程序模擬擲骰子游戲。已知擲骰子游戲的游戲規則為:每個骰子有6面,這些麵包含1、2、3、4、5、6個點,投兩枚骰子之後,計算點數之和。如果第一次投的點數和為7或11,則游戲者獲勝;如果第一次投的點數和為2、3或12,則游戲者輸;如果第一次投的點數和為4、5、6、8、9或10,則將這個和作為游戲者獲勝需要擲出的點數,繼續投骰子,直到賺到該點數時算是游戲者獲勝。如果投擲7次仍未賺到該點數,則游戲者輸。 【思考題】 將游戲規則改為:計算機想一個數作為一個骰子擲出的點數(在用戶輸入數據之前不顯示該點數),用戶從鍵盤輸入一個數作為另一個骰子擲出的點數,再計算兩點數之和。其餘規則相同,然後請讀者重新編寫該程序。 2.學生成績統計(一維數組)要求函數參數中包含一維數組。 從鍵盤輸入一個班(全班最多不超過30人)學生某門課的成績,當輸入成績為負值時,輸入結束,分別實現下列功能: (1)統計不及格人數並列印不及格學生名單; (2)統計成績在全班平均分及平均分之上的學生人數,並列印這些學生的名單; (3)以直方圖方式統計各分數段的學生人數及所佔的百分比。形式如下: 分數段 學生人數 圖形 <60 3(10%) *** 60-69 8(…) ******** 70-79 7(…) ******* 80-89 8(…) ******** >=90 4(…) **** 實踐2:結構體編程練習 在屏幕上模擬顯示一個數字式時鍾 按如下方法定義一個時鍾結構體類型: struct clock { int hour; int minute; int second; }; typedef struct clock CLOCK; 然後,將下列用全局變數編寫的時鍾模擬顯示程序改成用CLOCK結構體變數類型重新編寫。已知用全局變數編寫的時鍾模擬顯示程序如下: #include <stdio.h> int hour, minute, second; /*全局變數定義*/ /* 函數功能:時、分、秒時間的更新 函數參數:無 函數返回值:無 */ void Update(void) { second++; if (second == 60) /*若second值為60,表示已過1分鍾,則 minute值加1*/ { second = 0; minute++; } if (minute == 60) /*若minute值為60,表示已過1小時,則 hour值加1*/ { minute = 0; hour++; } if (hour == 24) /*若hour值為24,則hour的值從0開始計時*/ { hour = 0; } } /*函數功能:時、分、秒時間的顯示 函數參數:無 函數返回值:無 */ void Display(void) /*用回車符'\r'控制時、分、秒顯示的位置*/ { printf("%2d:%2d:%2d\r", hour, minute, second); } /*函數功能:模擬延遲1秒的時間 函數參數:無 函數返回值:無 */ void Delay(void) { long t; for (t=0; t<50000000; t++) { /*循環體為空語句的循環,起延時作用*/ } } main() { long i; hour = minute = second = 0; /*hour,minute,second賦初值0*/ for (i=0; i<100000; i++) /*利用循環結構,控制時鍾運行的時間*/ { Update(); /*時鍾更新*/ Display(); /*時間顯示*/ Delay(); /*模擬延時1秒*/ } }
❷ C璇璦 鎺100楠板瓙,緇熻″悇鐐規暟鍑虹幇鐨勬℃暟
鐢ㄩ殢鏈烘暟鏉ユā鎷熸憞楠板瓙
#include<stdio.h>
#include<time.h>/*鐢ㄥ埌浜唗ime鍑芥暟*/
#defineLEN100/*闅忔満鏁頒釜鏁*/
#defineMIN1/*闅忔満鏁版渶灝忓*/
#defineMAX6/*闅忔満鏁版渶澶у*/
intmain(void){
inti,randArr[LEN],count[6]={0};
srand((unsigned)time(NULL));/*鐢ㄦ椂闂村仛縐嶏紝姣忔′駭鐢熼殢鏈烘暟涓嶄竴鏍*/
for(i=0;i<LEN;i++){
randArr[i]=rand()%(MAX-MIN+1)+MIN;/*浜х敓MIN~MAX鐨勯殢鏈烘暟*/
count[randArr[i]-1]++;
}
printf("鎽%d嬈¢板瓙鐨勭偣鏁扮粨鏋滐細 ",LEN);
for(i=0;i<LEN;i++){
printf("%d ",randArr[i]);
if(i+1%5==0)/*姣忚緭鍑5涓鏁版崲涓琛*/
putchar(' ');
}
putchar(' ');
puts("鍚勭偣鏁板嚭鐜版℃暟緇熻★細");
for(i=0;i<6;i++)
printf("%d鐐癸細%d ",i+1,count[i]);
putchar(' ');
getch();/*灞忓箷鏆傜暀*/
return0;
}
榪愯岀粨鏋
❸ 編寫程序c語言 模擬擲骰子游戲100次,編程統計並輸出骰子的6個面各自出現的次數。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
main()
{
intface;//儲存每次色子的點數
introll;//投擲色子的次數(循環變數)
intfrequency[7]={0};//記錄色子每個點數出現的次數
srand(time(NULL));//用系統時間來初始化系統隨機數的種子值
//用循環產生100次隨機數,並記錄每個點數出現的次數
for(roll=1;roll<=100;roll++)
{
face=rand()%6+1;
frequency[face]++;
}
printf("%4s%17s ","Face","Frequency");
//輸出每個點數出現的次數
for(face=1;face<=6;face++)
{
printf("%4d%17d ",face,frequency[face]);
}
system("pause");
}
❹ c語言編程,擲骰子游戲,擲三個骰子,我與電腦輪流坐莊,輸了換庄,游戲結束詢問是否結束,如果結束
擲骰子比大小,用隨機數就可以,但是莊家的規則是咋樣的沒交代清楚(這里假定莊家的優勢在於點數一樣大時,莊家贏):
#include "stdafx.h"
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
int Me, Computer,n=1,MC=1;
int meWin = 0, nGames = 0;
srand((unsigned int)time(NULL));
while (n)
{
cout << "開始擲骰子(輸入1開始,輸入0結束):" << endl;
cin >> n;
Me = rand() % 6 + 1;
Computer= rand() % 6 + 1;
nGames++;
if (MC)
{
cout << "你做莊:" << endl;
cout << "你的點數:" << Me << " 電腦的點數:" << Computer << endl;
if (Me >= Computer)
{
meWin++;
cout << "恭喜你贏了!" << endl;
}
else
{
MC = 0;
cout << "哦,你輸了!" << endl;
}
}
else
{
cout << "電腦做莊:" << endl;
cout << "你的點數:" << Me << " 電腦的點數:" << Computer << endl;
if (Computer >= Me)
cout << "哦,你輸了!" << endl;
else
{
meWin++;
MC = 1;
cout << "恭喜你贏了!" << endl;
}
}
}
cout << "你贏的次數:" << meWin << " 輸的次數:" << nGames - meWin << " 勝率:";
float p = (float)meWin / nGames;
int q = p * 100;
printf("%2d%% ", q);
system("pause");
return 0;
}