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;
}
求解一道C语言题目!!!!
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答
- Mr.Stone^_^ 2016-12-16 09:06关注
#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;
}本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 我想在一个软件里添加一个优惠弹窗,应该怎么写代码
- ¥15 fluent的在模拟压强时使用希望得到一些建议
- ¥15 STM32驱动继电器
- ¥15 Windows server update services
- ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
- ¥15 模糊pid与pid仿真结果几乎一样
- ¥15 java的GUI的运用
- ¥15 Web.config连不上数据库
- ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
- ¥15 怎么配置广告联盟瀑布流