3.试编程:玩彩票游戏。将玩家输入的数与计算机生成一个三位数的随机数比较,玩家输入的数恰好等于计算机生成的随机数,则显示“恭喜您,中了一等奖”;若玩家输的数中的十位、个位数字与计算机生成的十位、个位数字一致,则显示“恭喜您,得了二等奖若玩家输入数的个位数字与计算机随机生成的个位数字一致,则显示“恭喜您,得了三等奖”否则,则显示“谢谢惠顾!”
提示:
(1)需要用到随机函数和随机种子函数,因为是三位数,所以可以考虑加上100后再求与1000的余数。
(2)将玩家输入的三位数字取出其百位数字、十位数字、个位数字,然后进行比较即可。
#include <stdio.h>
int ti[11] = { 0 }; //用来存储每道题的回答情况0或者1,0表示错误,1表示正确
//提醒:数组ti的编号实际用1-10
//score表示当前得分,num是当前第num道题目
void f(int score, int num)
{
if (num == 11)//10道题目全部做完
{
if (score == 100)
{
int i = 0;
for (i = 1; i <= 10; i++)
printf("%d", ti[i]);
printf("\n");
}
}
else //10道题目没有做完
{
ti[num] = 1; //讨论第num道题目的正确情况
f(score * 2, num + 1);
ti[num] = 0; //讨论第num道题目的错误情况
f(score - num, num + 1);
}
}
int main(void)
{
f(10, 1);//从基础分10分开始,从第1题开始
return 0;
}