c課程設計報告猜數游戲
① 猜數游戲C語言程序設計
這道題不難,只要知道怎樣用c語言生成1~100的隨機數就很好辦了!
附代碼如下!
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
intmain()
{
index:
printf("請選擇是否進行猜數! 1:是 0:否 ");
intj;
scanf("%d",&j);
if(j==0)
return0;
inti,x=rand()%100+1,input;
for(i=0;i<10;i++)
{
printf("請輸入猜想的1至100之間的整數:");
scanf("%d",&input);
if(input==x)
{
printf("猜想正確! 你一共猜想了%d次 ",i+1);
gotoindex;
}
if(input<x)
{
if((i+1)>=10)
{
printf(" 此次猜想失敗! ");
gotoindex;
}
else
printf("所猜數過小! 請再猜一次! ");
}
if(input>x)
{
if((i+1)>=10)
{
printf(" 此次猜想失敗! ");
gotoindex;
}
else
printf("所猜數過大! 請再猜一次! ");
}
}
}
為了簡化,使用了goto語句。
② C語言程序設計題《猜數字游戲》
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 4/*隨機抽N個數*/
#define NUM 8/*NUM次猜數的機會*/
void detect(char s[])
{
int i,j,num;
int a,b;
char ch[N];
for(num=0;num<NUM;num++)
{
a=b=0;
printf("第%d次機會:",num+1);
for(i=0;i<N;i++)
{
ch[i]=getch();
if(ch[i]>='0'&&ch[i]<='9')
{
for(j=0;j<i;j++)
if(ch[i]==ch[j]) break;
if(j<i) i--;
else
{
putchar(ch[i]);
for(j=0;j<N;j++)
{
if(ch[i]==s[j])
if(i==j) a++;
else b++;
}
}
}
else
i--;
}
printf(" %dA%dB\n",a,b);
if(a==N)
{
printf("恭喜你答對了!\n");
break;
}
}
if(num==NUM)
printf("很遺憾,正確答案為:%s\n",s);
}
main()
{
int i,j;
char s[N+1];
srand(time(0));
for(i=0;i<N;i++)
{
s[i]=rand()%10;
for(j=0;j<i;j++)
if(s[i]==s[j]) break;
if(j<i) i--;
else
{
s[i]+='0';
putchar('*');
}
}
s[i]='\0';
printf("\n總共%d次機會\n",NUM);
detect(s);
}
_______________________
運行結果:
-----------------------
****
總共8次機會
第1次機會:1234 0A2B
第2次機會:2345 0A2B
第3次機會:3456 1A0B
第4次機會:4567 0A1B
第5次機會:5678 0A1B
第6次機會:6789 1A1B
第7次機會:3792 0A2B
第8次機會:9482 1A3B
很遺憾,正確答案為:8429
請按任意鍵繼續. . .
③ C語言課程設計源程序 猜數字游戲
有些難度哦
④ C語言猜數游戲的實驗報告怎麼寫
#include "stdio.h"
#include <stdlib.h>
void fun(int a);
void main()
{
int i;
//i 改為隨機數可以了:rand()%x x表示隨機數在0--x之間
i = rand()%100;//i 是0--100之間的一個隨機數
fun(i);
}
void fun(int a)
{
int j;
int flag = 1;//標記輸入內的次數
scanf("d%", &j);
do
{
if(j > i)
printf("輸入過大!請重容新輸入/n");
else if(j < i)
printf("輸入過小!請重新輸入/n");
else
{
printf("輸入正確!/n");
printf("輸入次數為:d%", flag);
break;
}
scanf("%d", &j);
flag++;
}while (flag <= 20);
}
⑤ c語言課程設計-猜數游戲
以下程序的功能是隨機產生數字,要求用戶猜測程序中產生的隨機數字,並輸入,根據猜測的結果程序給出不同的響應,如果15次沒猜對則退出。
源程序如下:
#include <stdio.h>
#include<stdlib.h>
#include<ctype.h>
main()
{
int count;/*猜數字的次數*/
int number;/*系統產生的隨機數字*/
int guess;/*程序員輸入數字*/
char yes='Y';
clrscr();
printf("\nNow let us play the game.\n Guess the number:");
while (toupper(yes)=='Y')
{
count=0;
randomize();
number=random(100)+1;
do
{
do
{
printf("\nInput an integer number(1~100):");
scanf("%d",&guess);
}while(!(guess>=1&&guess<=100));/*結束第二層DO~WHILE循環*/
if (guess<number)
printf("\n Your answer is low,try again!");/*如果用戶輸入的數字小於系統隨機數,則輸出數字太小的提示信息*/
if (guess>number)
printf("\n Your answer is high,try again!");/*如果用戶輸入的數字大於系統隨機數,則輸出數字太小的提示信息*/
count++;/*猜測次數加一*/
if (count==15)
{
printf("\n This is the %d times! Think it hard next!",count);
exit(0);/*如猜測15次還沒猜對,則退出遊戲*/
}
}while (!(guess==number));
if (count<=7)/*猜測的次數小於7次*/
{
printf("\n You have got it in %d times.\n",count);
printf("\n you guess right,Congretulations!");/*游戲成功則提示祝賀信息*/
}
else
{
printf("\n You got it in %d times.\n",count);
printf("\n I bet you can do it better!");/*游戲失敗則提示鼓勵信息*/
}
printf("\n NEXT?(Y/N):");/*選擇是否重新游戲*/
scanf("%c",&yes);
}
}
運行程序時請用戶猜數字,該數字由系統隨機產生,用戶最多有七次猜測的機會,如果在七次內猜對數字,則程序顯示祝賀信息,如果用戶大於七次猜對數字,則程序顯示鼓勵信息,如果用戶連續15次都沒有猜對數字,則游戲自動退出。結束一次游戲後,系統詢問用戶進行下一次猜數字游戲,用戶輸入「Y」則開始下一次猜數字游戲,用戶如果輸入「N」則退出遊戲。
唉,花了個把小時終於搞出來了,應可以看懂吧,程序中作了很詳細的解釋,且在最後也作了功能說明!
如果認為好的話,追加分數哦!
⑥ c語言編程 猜數游戲
#include <stdio.h>
#include <stdlib.h> //用到了rand函數,所以要有這個頭文件
#include <time.h> //用到了time函數,所以要有這個頭文件
int main()
{
int number; //number用於存儲隨機數
int guess=0; //guess用於存儲玩家猜的數
srand((unsigned) time(NULL));//用系統時間作為rand函數使用的種子
number=rand()%100; //隨機除以100,取余數
number++; //余數加1
printf("猜數字游戲\n");
printf("該數字在1到100之間\n");
while(guess!=number)
{
printf("請輸入您所猜的數:");
scanf("%d",&guess);
//如果玩家猜的數較小,給予提示
if (guess<number)
{
printf("小了\n");
}
//如果玩家猜的數較大,給予提示
if (guess>number)
{
printf("大了\n");
}
}
//猜中則循環結束,輸出猜中的數字
printf("猜對了,這個數字就是:%d\n",number);
return 0;
}
⑦ c語言程序設計猜數游戲
#include<stdio.h>
#include<stdlib.h>
void main()
{
int Win = rand() % 100000+ 10000; //隨機賦值10000~99999
int i = 0;
int n;
char ch;
printf("please input n\n");
scanf("%d",&n);
while(1)
{
(n > Win) //猜的數字大了
{
printf("you guess number big\n");
i++;
scanf("%d",&n);
}
if(n < Win) //猜的數字小了
{
i++;
printf("you guess number small\n");
scanf("%d",&n);
}
if(n == Win) // 正確
{
i++;
printf("you guees is right\n");
printf("你現在想退出嗎? 輸入a結束\n");
scanf("%c",&ch);
if(ch == 'a')
break;
continue;
}
if(i > 10) //機會用完了
{
printf("你的機會已經用完,沒機會再猜了\n");
break;
}
}
if(i < 3)
printf("優秀\n"); // 對游戲者的評價
else if(i < 8)
printf("良好\n");
else
printf(" 差\n");
}
這是我以前編過的程序,只是把范圍改了你想要的
⑧ C語言編寫猜數字游戲
本來想給你寫完的,結果有點事情把我的時間佔用了,只好把這個寫了一大半的程序給你,你自己加文件排名的那一部分。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int proct_random();
void store_number(int X);
#define length 4
int guess[length];
int x[length];
void main(void)
{
int i,j,correct,half_correct,RANDOM,GUESS,time;
time=0;
RANDOM=proct_random();
printf("%d\n",RANDOM);
printf("Please input your guessed four-digit number:\n");
while(1)
{
correct=0;
half_correct=0;
scanf("%d",&GUESS);
time++;
store_number(GUESS);
for(i=0;i<4;i++)
{
if(guess[i]==x[i])
{
correct++;
}
for(j=0;j<4;j++)
{
if(i!=j)
{
if(guess[i]==x[j])
{
half_correct++;
}
}
}
}
printf("%d %d %d\n",correct,half_correct,time);
if(correct==4)
{
printf("congratulations\n");
break;
}
}
}
int proct_random(void)
{
int i,random;
srand((unsigned)time(NULL));
for(i=0;i<4;i++)
{
x[i]=rand()%10;
}
random=x[0]*1000+x[1]*100+x[2]*10+x[3];
return random;
}
void store_number(int X)
{
guess[0]=X/1000;
guess[1]=X/100-guess[0]*10;
guess[2]=X/10-guess[1]*10-guess[0]*100;
guess[3]=X%10;
}
⑨ 求助:c語言程序設計報告 猜數游戲 謝謝!
|#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int n,i,j=0,cnt=0;
char c;
srand(time(0));
do
{ j=0;
cnt=0;
i=rand()%100;
do
{
printf("輸入一個0~99的數字:");
cnt++;
scanf("%d",&n);
getchar();
if(n==i){printf("WINER!專\nPlay again?Y/N:");j=1;}
else if(n>i)printf("GREATER THEN!\n");
else printf("LESS THEN!\n");
if(cnt>10){printf("END.\nThe answer=%d!\nPlay again?Y/N:",i);j=1;break;}
}
while(j==0);
c=getchar();
}
while(c=='y'|屬|c=='Y');
return 0;
}
⑩ 課程設計c++猜數字游戲
這個應該符合你的要求:
#include"stdio.h"
#include"stdlib.h"
#include"time.h"
int A=0,B=0;
int pd(int a[])/*判斷是否有相同位相等與否*/
{int i,j,leap=1;
for(i=0;i<3;i++)
for(j=i+1;j<4;j++)
if(a[i]==a[j])
leap=0;
return leap;
}
int sl(int a)/*判斷輸入的數字是否合法*/
{int b=0,leap=0,dl[4];
if(a>=1000&&a<=9999)
{dl[0]=a/1000;
dl[1]=a%1000/100;
dl[2]=a%100/10;
dl[3]=a%10;
b=pd(dl);/*判斷四位數的合法性*/
}
if(b==1)
leap=1;
return leap;
}
void chuli(int a[],int b[])/*判斷猜測情況*/
{int i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(a[i]==b[j])
{
printf("%d 對,",b[j]);
if(i==j)
printf("位置也對!\n");
else printf("但位置不對!\n");
}
}
void main()
{int a[4],b[4],k,m,z,i=0,j,c;
printf(" 這是一個猜數字的游戲,根據系統提示猜一個四位數。\n (注意:正確的數字是每一位都不重復的四位數)祝你好運~~\n");
while(1)
{srand((unsigned)time(NULL));
z=(rand()%100)*(rand()%100);
if(sl(z))
{k=z;
break;
}
}
for(j=3;j>=0;j--)
{ a[j]=k%10; k/=10;}
while(1)
{ printf("輸入你猜的數字:\n");
scanf("%d",&m);
if(m==z)
{ printf("恭喜你答對了O(∩_∩)O\n");
break;
}
i++;
for(j=3;j>=0;j--)
{ b[j]=m%10; m/=10;}
chuli(a,b);
if(i==8)
{ printf("你都錯了8次了,還要猜嗎?(1:yes,2:no)\n");
scanf("%d",&c);
if(c==2)
break;
}
else if(i==15)
{
printf("別猜了,正確答案:%d\n",k);
break;
}
else
printf("猜的不正確,還差點,加油啊!\n");
}
}