一、要求
1) 要求能出和真分数 (二分之一, 十二分之五,等)相关的练习题。
2) 并且要求能处理用户的输入,并判断对错,打分统计。 要求能处理用户输入的真分数, 如 1/2, 5/12 等。
二、源代码
#include<stdio.h> #include<stdlib.h> #define N 10 void display() { int ds[N]; int da[N]; int a,b,c,i,d,f,g,h,j; int k=1; int e=1; while(k==1) { printf(" 请输入需要设置的题目个数:"); scanf("%d",&d); printf("是否需要乘除法?(1/0)"); scanf("%d",&f); for(i=0;i<d;i++) { a=rand()%100; /*abg为生成的数,用来计算,c为四种符号的判断*/ b=rand()%100; c=rand()%4; g=rand()%100; if(f==1) /*判断是否需要乘除法*/ { if(c==1){ printf(" %d+%d*%d=",a,b,c); da[i]=a+b*c;} else if(c==2){ printf(" %d-%d*%d=",a,b,c); da[i]=a-b*c;} else if(c==3){ printf(" %d+%d/%d=",a,b,c); da[i]=a+b/c;} else if(c==4){ printf(" %d-%d/%d=",a,b,c); da[i]=a-b*c;} } else { if(c==1||c==2){ printf(" %d+%d=",a,b); da[i]=a+b;} else { printf(" %d-%d=",a,b); da[i]=a-b;} } } printf(" 请你输入相应题目的答案:"); /*录入答案*/ for(i=0;i<d;i++) { scanf("%d",&ds[i]); } h=0; for(j=0;j<d;j++) /*判断对错*/ { if(ds[j]==da[j] ) { printf(" 恭喜你答对了第%d题!",j); h=h+1; } else printf(" 对不起你答错了第%d题!",j); } printf(" 你的得分为:%d",h); } } void main() { display(); }
三、结果和分析
暂时还没有实现分数的输入和输出。有待改进。