python判断对错题_可以在线答题,并且能判断对错,将错题保存起来

#include#include#include#include#include

int fun(int x,int y)//求最大公约数

{intz,s,u,v;if(x

{

z=x;

x=y;

y=z;

}

s=x;

u=y;while(u!=0)

{

v=s%u;

s=u;

u=v;

}returns;

}intmain()

{int a=0;int b=0;int c=0;int d=0;int m=0;inti,t,h,n,k,x,y,p,l,q;intr;

scanf("%d",&n);

FILE*fp;

fp=fopen("D://a.txt","w");if(fp==NULL)

printf("不能打开文件\n");//打开文件并指定文件的存储位置以及文件名

srand((unsigned)time(NULL));for(i=0;i

{

a=rand()%99+1;

b=rand()%99+1;

c=rand()%99+1;

d=rand()%99+1;

m=rand()%8;if(a

{

t=a;

a=b;

b=t;

}//使a的值大于b的值

if(c

{

h=c;

c=d;

d=h;

}//使c的值大于d的值

switch(m)

{case 0:

printf("\n%d+%d=",a,b);

scanf("%d",&k);

r=a+b;if(k==r)

printf("right\n\n");else{

printf("wrong\n\n");

fprintf(fp,"\n%d+%d=%d",a,b,k);//如果给出的答案错误将会把错题保存在文件中

}break;case 1:

printf("\n%d-%d=",a,b);

scanf("%d",&k);

r=a-b;if(k==r)

printf("right\n\n");else{

printf("wrong\n\n");

fprintf(fp,"\n%d-%d=%d",a,b,k);

}break;case 2:

printf("\n%d*%d=",a,b);

scanf("%d",&k);

r=a*b;if(k==r)

printf("right\n\n");else{

printf("wrong\n\n");

fprintf(fp,"\n%d*%d=%d",a,b,k);

}break;case 3:

printf("\n%d/%d=",a,b);

scanf("%d",&k);

printf("余");

scanf("%d",&p);

r=a/b;

q=a-b*r;if(k*b+p==r*b+q)

printf("right\n\n");else{

printf("wrong\n\n");

fprintf(fp,"\n%d/%d=%d余%d",a,b,k,p);

}break;case 4:

{y=b*c+a*d;x=a*c;}

l=fun(x,y);

x=x/l;

y=y/l;

printf("\n%d/%d+%d/%d=",b,a,d,c);

scanf("%d/%d",&k,&h);if(k==y&&h==x)

printf("right\n\n");else{

printf("wrong\n\n");

fprintf(fp,"\n%d/%d+%d/%d=%d/%d",b,a,d,c,k,h);

}break;case 5:

{y=b*c-a*d;x=a*c;}

l=fun(x,y);

x=x/l;

y=y/l;

printf("\n%d/%d-%d/%d=",b,a,d,c);

scanf("%d/%d",&k,&h);if(k==y&&h==x)

printf("right\n\n");else{

printf("wrong\n\n");

fprintf(fp,"\n%d/%d-%d/%d=%d/%d",b,a,d,c,k,h);

}break;case 6:

{y=b*d;x=a*c;}

l=fun(x,y);

x=x/l;

y=y/l;

printf("\n%d/%d*%d/%d=",b,a,d,c);

scanf("%d/%d",&k,&h);if(k==y&&h==x)

printf("\nright");else{

printf("\nwrong");

fprintf(fp,"\n%d/%d*%d/%d=%d/%d",b,a,d,c,k,h);

}break;case 7:

{y=b*c;x=a*d;}

l=fun(x,y);

x=x/l;

y=y/l;

printf("\n(%d/%d)/(%d/%d)=",b,a,d,c);

scanf("%d/%d",&k,&h);if(k==y&&h==x)

printf("right\n\n");else{

printf("wrong\n\n");

fprintf(fp,"\n%d/%d/%d/%d=%d/%d",b,a,d,c,k,h);

}break;default:

printf("something is wrong!\n");break;

printf("\n");

}

}return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值