程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void Exercise(int m,int h,int l){
char a[5]="+-*/%";
int i=0,b,c,d,e,n,sum=0,score=10;
while(i<10){
srand((unsigned)time(NULL));
n=rand()%m;
c=h+rand()%l;
b=h+rand()%l;
switch(n){
case 0:d=b+c;break;
case 1:d=b-c;break;
case 2:d=b*c;break;
case 3:printf("这里的除法运算只要求求其商!\n");d=b/c;break;
case 4:d=b%c;break;
default:break;
}
printf("%d %c %d = ",b,a[n],c);
scanf("%d",&e);
if(e==d){
printf("完全正确,你非常聪明!加%d分!\n\n",score);
sum+=score;
}
else{
printf("你答错了,继续努力! 正确答案:%d\n\n",d);
score-=2;
}
i++;
}
printf("总分为:%d\n",sum);
}
main()
{
int digit;
printf("****************************小学生教学辅导系统****************************\n");
while(1){
printf("请输入你想练习的数值的位数(1、2、3):");
scanf("%d",&digit);
switch(digit){
case 1:printf("\n***一位数训练!***\n\n");Exercise(3,0,10);break;
case 2:printf("\n***两位数训练!***\n\n");Exercise(4,10,90);break;
case 3:printf("\n***三位数训练!***\n\n");Exercise(5,100,900);break;
default:printf("\n!!!位数输入有误!!!\n\n");break;
}
getchar();
printf("你想继续进行训练吗?(y/n?):");
if(getchar()=='n')
break;
}
return 0;
}
你可以参照一下
[
本帖最后由 韶志 于 2013-6-24 19:07 编辑 ]