精选问答
运用c语言编写一游戏。游戏面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。先谢啦要求:a. 只出不重复的10道题,每题10分,程序结束时显示游戏参与者得分。 b. 确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的。 c. 每道题游戏参与者有三次机会输入答案,当游戏参与者输入错误答案时,提醒游戏参与者重新输入,如果三次机会结束则输出正确答案。d. 对于每道题,游戏参与者第一次输入正确答案得10分,第二次输入正

2019-04-14

运用c语言编写一游戏。游戏面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。先谢啦
要求:
a. 只出不重复的10道题,每题10分,程序结束时显示游戏参与者得分。
b. 确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的。
c. 每道题游戏参与者有三次机会输入答案,当游戏参与者输入错误答案时,提醒游戏参与者重新输入,如果三次机会结束则输出正确答案。
d. 对于每道题,游戏参与者第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分。
e. 当游戏参与者输入了正确得数后,随机显示评价结果,例如“Right!”、“Correct!”、“You got it!”、“That’s the answer!”、“Good !”、“Excellent!”等,若答案错误,则按照格式“No, the answer is x.” 输出答案。
优质解答
#include
#include
#include
#include
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 = ",a,sf[d],b);
strcpy(str1[num],str);
if(num==0) break;
j=-1;
for(i=0; i {
if(strcmp(str,str1[i])==0)/* 如果相同重新出题 */
{ j=1;break;}
}
if(j<0)
break;
}
}
printf("%s",str);
/* 回答 */
printf("输入计算结果:");
while(1)
{
scanf("%d",&result);
k++;
if(result==c)
{
printf("回答正确!");
add+=score[k-1];
break;
}
else if(k<3)
{
printf("错误,请重新回答:");
}
else
break;
}
num++;
if(num==10)break;
}
printf("得分:%d",add);
getch();
}
#include
#include
#include
#include
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 = ",a,sf[d],b);
strcpy(str1[num],str);
if(num==0) break;
j=-1;
for(i=0; i {
if(strcmp(str,str1[i])==0)/* 如果相同重新出题 */
{ j=1;break;}
}
if(j<0)
break;
}
}
printf("%s",str);
/* 回答 */
printf("输入计算结果:");
while(1)
{
scanf("%d",&result);
k++;
if(result==c)
{
printf("回答正确!");
add+=score[k-1];
break;
}
else if(k<3)
{
printf("错误,请重新回答:");
}
else
break;
}
num++;
if(num==10)break;
}
printf("得分:%d",add);
getch();
}
相关标签: 运用 语言 编写 游戏 学生 随机 两个 整数 形成 算式
相关问答