1. 電腦隨機產生1000—9999之間的數字(包括1000、9999);
提示:用rand函數,該函數在stdlib.h庫中,並保證多次運行產生不同的隨機數
2. 玩家每輪有七次猜數的機會,如果七次都沒有猜到,則失敗,判為0分;
3. 玩家每輪可以請求幫助,提問關於產生數字的信息,扣分細則如下;
4. 游戲以百分制形式,初始分為100,最後得分最多為贏家。
幫助內容及扣分細則:
. 判斷你所猜的數中各位數字對應位置正誤情況,以R表正確,E表錯誤。若隨機數是2537,而猜的數是1234,則輸出EERE,代表猜的數第3位正確,第1,2,4位錯誤。
——扣當前分數的1/10
. 判斷你所猜的數中正確數字是什麼。若隨機數是2537,而猜的數是1234,則輸出有兩個數字正確,它們是2,3。 ——扣當前分數的1/10
#include
#include
int sort = 100;
int main()
{
int in = 0;
int r = 0;
while (1)
{
r = rand();
while (1000 <= r && r <= 9999)
{
printf("please enter data:");
scanf("%d", &in);
if (in > r || in < r) //如果大或小,減去當前分數的1/10
sort -= sort / 10;
printf("當前分數%d\n", sort);
}
}
return 0;
}
#include "stdio.h"
#include "stdlib.h"
int sort = 100;
int main()
{
int in = 0;
int r = 0;
int sum,j;
while (1)
{
i=0;
char help;
r = rand();
while (1000 <= r && r <= 9999 && sum
{
printf("please enter data:");
scanf("%d", &in);
printf("Do you need help?Y/N");//是否選擇幫助,Y選擇幫助,N不需要幫助
scanf("%c",&help);
if(help=='Y')//Y選擇幫助
{
int next,next1;
int num1,num2;
printf("Select help mode :position:1/Correct:2");//選擇幫助類型,1為查看對應位置正確性,2為查看正確數字
scanf("%d",&j);
if(j==1)//1為查看對應位置正確性
{
num1=in;num2=r;
char s[4];
for(next=0;next
{
if(num1%10==num2%10)//對應位置對比
{
s[4-next-1]="R";
}
else
{
s[4-next-1]="E";
}
num1=num1/10;
num2=num2/10;
}
puts(s);//輸出對比結果
}
else if(j==2)//2為查看正確數字
{
int s[4];
num1=in;
int g=0;
for(next=0;next
{
num2=r;
for(next1=0;next1
{
if(num1%10==num2%10)
{
s[g++]=num2%10;
}
num2/=10;
}
num1/=10;
}
puts(s);//輸出對比結果
}
sort-=sort/10;//扣除使用幫助分
printf("當前分數%d\n", sort);
}
if (in > r || in < r) //如果大或小,減去當前分數的1/10
sort -= sort / 10;
printf("當前分數%d\n", sort);
sum++;//
}
}
return 0;
}