练习1升级
一、要求
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("\n请输入需要设置的题目个数:"); 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("\n%d+%d*%d=",a,b,c); da[i]=a+b*c;} else if(c==2){ printf("\n%d-%d*%d=",a,b,c); da[i]=a-b*c;} else if(c==3){ printf("\n%d+%d/%d=",a,b,c); da[i]=a+b/c;} else if(c==4){ printf("\n%d-%d/%d=",a,b,c); da[i]=a-b*c;} } else { if(c==1||c==2){ printf("\n%d+%d=",a,b); da[i]=a+b;} else { printf("\n%d-%d=",a,b); da[i]=a-b;} } } printf("\n请你输入相应题目的答案:"); /*录入答案*/ for(i=0;i<d;i++) { scanf("%d",&ds[i]); } h=0; for(j=0;j<d;j++) /*判断对错*/ { if(ds[j]==da[j] ) { printf("\n恭喜你答对了第%d题!",j); h=h+1; } else printf("\n对不起你答错了第%d题!",j); } printf("\n你的得分为:%d",h); } } void main() { display(); }
三、结果和分析
暂时还没有实现分数的输入和输出。有待改进。