练习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();
}

三、结果和分析

练习1升级

    暂时还没有实现分数的输入和输出。有待改进。