用C语言编写一游戏。游戏面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。

(1) 只出不重复的10道题,每题10分,程序结束时显示游戏参与者得分。
(2) 确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的。
(3) 每道题游戏参与者有三次机会输入答案,当游戏参与者输入错误答案时,提醒游戏参与者重新输入,如果三次机会结束则输出正确答案。
(4) 对于每道题,游戏参与者第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分

#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<string.h>

void main()
{
int num=0,add=0; /* 答题数,得分 */
int score[3]={10,7,5};
char str[20],str1[10][20];

while(1)
{
int a=0,b=0,d=0,c=0,k=0,i=0,j=-1,result;
char sf[2]={'+','-'};
/* 出题 */
while(1)
{
a=rand()%51;
b=rand()%51;
d=rand()%2;
if(d==0)c=a+b;
else c=a-b;
if(c>=0 && c<=50)
{
sprintf(str,"%d %c %d = \n",a,sf[d],b);
strcpy(str1[num],str);
if(num==0) break;
j=-1;
for(i=0; i<num; i++)
{
if(strcmp(str,str1[i])==0)/* 如果相同重新出题 */
{ j=1;break;}
}
if(j<0)
break;
}
}
printf("%s\n",str);
/* 回答 */
printf("输入计算结果:\n");
while(1)
{
scanf("%d",&result);
k++;
if(result==c)
{
printf("回答正确!\n");
add+=score[k-1];
break;
}
else if(k<3)
{
printf("错误,请重新回答:\n");
}
else
break;
}
num++;
if(num==10)break;
}
printf("\n得分:%d\n",add);
getch();
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-13
报名,吗看农行卡,就好可怜妈妈

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网