本文目錄一覽:
c語言:猜數字遊戲代碼
加了得分榜,沒寫排序,沒時間了。自己加一下就OK
#include stdio.h
#include time.h
#include stdlib.h
#include string.h //以上的是要用到的頭文件
int score=0;
void SELECT(int);
void Guess(int,int);
void Select();
void letsgo();
void NB(int); //以上的是函數原型
struct PLAYER
{
char name[10];
int plscore;
};
void save()
{ printf(“您的得分是%i”,score);
PLAYER player;
printf(“請輸入姓名:”);
scanf(“%s”,player.name);
player.plscore=score;
FILE *fp;
if((fp=fopen(“record.txt”,”ab”))==NULL)
{
printf(“不能打開文件!”);
exit(0);
}
fwrite(player,sizeof(PLAYER),1,fp);
printf(“記錄保存完畢!”);
fclose(fp);
}
void print()
{
printf(“分數榜:”);
FILE *fp;
if((fp=fopen(“record.txt”,”rb”))==NULL)
{
printf(“不能打開文件!”);
exit(0);
}
PLAYER player;
while(fread(player,sizeof(PLAYER),1,fp)==1)
{
printf(“\n姓名:%s\n”,player.name);
printf(“分數:%i\n”,player.plscore);
}
fclose(fp);
}
void main()
{
char end;
printf(” \t\t歡迎光臨!!\n\t 在這裡我將來測試你的運氣!\n”);
printf(” 請你猜下數字,但機會就只有三次!!\n”);
printf(“\n 1、開始遊戲^__^\n 2、我是倒霉鬼,我不玩\n 3、查看分數榜”);
printf(” 請選擇1或2\n”);
Select();
printf(“\n按任意鍵退出”);
fflush(stdin);
end=getchar();
if(score0)
save();
printf(“Thanks For Playing \2 886\n”);
}
void Select()
{
int s;
static int lihai=0;
fflush(stdin);
scanf(“%d”,s);
switch(s)
{
case 1:
letsgo();break;
case 2:
printf(“唉,你不想玩,我就不逼你咯\n”);exit(0);
case 3:print();
break;
default:
lihai++;
if(lihai==3||lihai==5)
{
NB(lihai);
break;
}
printf(“你輸入的是什麼啊!重新輸入 1 或 2 \n “);
Select();
}
}
void letsgo()
{
int select;
printf(“請你選擇猜數字的難度\n “);
printf(“1、簡單-猜測 0 到 9 的數字\n “);
printf(“2、一般-猜測 0 到 99 的數字\n “);
printf(“3、困難-猜測 0 到 999 的數字\n “);
printf(“請不要亂選!!\n”);
scanf(“%d”,select);
switch(select)
{
case 1:SELECT(10);break;
case 2:SELECT(100);break;
case 3:SELECT(1000);break;
case 4:print();
default:
{
printf(“請不要亂選!!\n”);
letsgo();
}
}
}
void NB(int l)
{
char a[20];
static int jihui=0;
printf(“\n老大!我服了你,%d 次都輸入錯誤。\n”,l);
printf(“\n可能你在搗亂~~\n”);
printf(“(如果不想結束,請輸入[sorry]中括弧內的否則結束遊戲)\n”);
fflush(stdin);
gets(a);
if (strcmp(a,”sorry”)==0||strcmp(a,”SORRY”)==0)
{
jihui++;
if(jihui==2)
{
printf(“\n死性不改。道歉也沒有用了!\n”);
goto end;
}
printf(“好吧。給你次機會請輸入 1 或 2 \n “);
Select();
}
end:
printf(“”);
}
void SELECT(int n)
{
int num;
srand((unsigned)time(NULL));
num=rand()%n;
if(n==10)
{
n=3;
printf(“\n你有 %d 次猜測的機會\n”,n);
}
if(n==100)
{
n=5;
printf(“\n你有 %d 次猜測的機會\n”,n);
}
if(n==1000)
{
n=7;
printf(“\n你有 %d 次猜測的機會\n”,n);
}
Guess(num,n);
}
void Guess(int num,int n)
{
int search,k,o;
static int i=1;
char ans;
if(n==3)
k=10;
if(n==5)
k=100;
if(n==7)
k=1000;
o=(num-k/1)%k;
if(o0)
o=0;
printf(“\n請猜這個數是多少(在%d到%d):”,o,(k/5+num)%k);
fflush(stdin);
scanf(“%d”,search);
if(numsearch)
printf(“\n小了\n”);
if(numsearch)
printf(“\n大了\n”);
if(num==search)
{
printf(“\n恭喜您了!你在第 %d 次猜對了\n”,i);
score+=10;
printf(“是否繼續y / n:\n”);
fflush(stdin);
ans=getchar();
if(ans==’y’||ans==’Y’)
{
i=1;
letsgo();
}
}
else
{
i++;
if(i=n)
Guess(num,n);
else
{
printf(“\n你的 %d 次機會已經沒有了!!,答案是 %d \n”,i-1,num);
printf(“是否繼續y / n:\n”);
fflush(stdin);
ans=getchar();
if(ans==’y’||ans==’Y’)
{
i=1;
letsgo();
}
}
}
}
滿意請採納。
猜數,用函數,c語言,猜一個隨機數有三次機會
參考代碼:
#include stdio.h
#include stdlib.h
#include time.h
int main()
{
int i,randomnum,yourguess;
randomize();
randomnum=random(101);
printf(“請猜一個1-100間的數:\n”);
for(i=1;i=3;i++)
{
scanf( “%d”,yourguess);
if(yourguess==randomnum)
{
printf(“這是第%d次猜數,恭喜猜對了!\n\n”,i);
printf(“按任意鍵退出\n”,i);
getch();
break;
}
else if(yourguessrandomnum)
{
if(i3)
{
printf(“這是第%d次猜數,猜小了! 還剩%d次機會,請繼續…\n”,i,10-i);
continue;
}
else
printf(“這是最後一次猜數,猜小了! 很遺憾…\n”);
}
else if(yourguessrandomnum)
{
if(i3)
{
printf(“這是第%d次猜數,猜大了! 還剩%d次機會,請繼續…\n”,i,10-i);
continue;
}
else
printf(“這是最後一次猜數,猜大了! 很遺憾…\n”);
}
}
return 0;
}
C語言猜數程序
給你編好了 你看看效果
#includetime.h
#includeStdlib.h
#includestdio.h
void guessfigure(int x)
{ int magic,guess,i;
srand(time(NULL));
magic=rand()%100;
for(i=1;i=x;i++)
{ printf(” \n \n Please guess a magic number:”);
scanf(“%d”,guess);
if(guess==magic)
{ printf(“\n\n Right! %dtimes”,i);
return;
}
else if(guessmagic)
printf(“\n\n Wrong!Too high!”);
else
printf(“\n\n Wrong!Too low!”);
}
}
int main()
{ int x;
printf(” guess figure \n\n”);
char k;
int i=0;
do
{
if(i!=0)
printf(“\nwelcome to antother \n”);
x=10;
guessfigure(x);
printf(“\n exit: q; go-on:anyone else \n”);
scanf(“%c”,k);
}while(k!=’q’);
return 0;
}
C語言中猜數字的代碼
再定義兩個變數,在遊戲說明後面套個while循環,條件你想要退出輸入的鍵例如:(x==’y’)繼續遊戲,否者退出!至於統計次數在選者外套用一個for循環語句,在答對的情況下i 自增最後輸出i的值就可以了!
猜數字遊戲 C語言簡單程序代碼
#include
#include
#include
#include
int
i,j=1;
int
scores[6];
void
main()
{
char
control=’\0′;
int
rand1,guess,score;
printf(“開始遊戲嗎
?(y?n)”);
control=getchar();
while(control!=’y’control!=’y’control!=’n’control!=’n’)//屏蔽其他按鍵
{
printf(“無效字元!開始遊戲嗎
?(y?n)”);
fflush(stdin);
control=getchar();
printf(“%c”,control);
}
while((control==’y’)||(control==’y’))
{
system(“cls”);
srand((unsigned)time(null));
rand1=rand()%10+1;
//printf(“%d”,rand1);
for(i=0;i20;i++)
{
printf(“請輸入你猜的數:”);
scanf(“%d”,guess);
if(guessrand1)printf(“大啦!\n”);
else
if(guess
:猜對了\a\n”);//響鈴\a
break;
}
i++;
}
i+=1;
if(i==1)
{
score=100;
scores[0]++;
}
else
if(i=2i=3)
{
score=90;
scores[1]++;
}
else
if(i=4i=6)
{
score=80;
scores[2]++;
}
else
if(i=7i=10)
{
score=70;
scores[3]++;
}
else
if(i=11i=15)
{
score=60;
scores[4]++;
}
else
{
score=0;
scores[5]++;
}
printf(“第%d次得分是:%d\n”,j,score);
scores[7]+=score;
j++;
printf(“是否繼續(y?n)\n”);
fflush(stdin);//請輸入緩衝區
control=getchar();
while(control!=’y’control!=’y’control!=’n’control!=’n’)
{
printf(“無效字元!只能按y或y,n或n是否繼續(y?n)\n”);
fflush(stdin);
control=getchar();
printf(“%c”,control);
}
}
system(“cls”);//清屏
printf(“+++++++++++++++—————–以下是得分情況:—————*************\n”);
for(i=0;i5;i++)
{
printf(“+++++++++++++++——————得%d分%d次:——————*************\n”,10*(10-i),scores[i]);
}
printf(“+++++++++++++++——————得%d分%d次:——————*************\n”,
0,scores[5]);
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/249544.html