1. 程式人生 > >四則運算 進階版

四則運算 進階版

%d () 分數 std 支持 break stdlib.h 輸入 題目

在原有四則運算基礎上,除整數以外要支持真分數運算(驗證正確性)

一次出的題避免相互重復

可定制出題數目

#include <stdio.h>
#include <stdlib.h>

int main()
{
int num,i,k;
printf("請輸入題目數量:");
scanf("%d",&num);
float fa,fb,fc,fd,result;
k=0;
for (i=0; i<num; i++)
{
int isint1=rand()%2;
int isint2=rand()%2;
if (isint1==0)
{
fa=rand()%100+1;
}
else
{
fa=rand()%100+1;
fb=rand()%100+1;
if (fa>fb)
fa=fb/fa;
else
fa=fa/fb;
}
if (isint2==0)
{
fc=rand()%100+1;
}
else
{
fc=rand()%100+1;
fd=rand()%100+1;
if (fc>fd)
fc=fd/fc;
else
fc=fc/fd;
}
int op;
op=rand()%4;
switch(op)
{
case 0:
{
printf("%f + %f=",fa,fb);
scanf("%f",&result);
if (result-(fa+fb)<0.000001)
k++;
break;
}
case 1:
{
printf("%f - %f=",fa,fb);
scanf("%f",&result);
if (result-(fa-fb)<0.000001)
k++;
break;
}
case 2:
{
printf("%f * %f=",fa,fb);
scanf("%f",&result);
if (result-(fa*fb)<0.000001)
k++;
break;
}
case 3:
{
printf("%f / %f=",fa,fb);
scanf("%f",&result);
if (result-(fa/fb)<0.000001)
k++;
break;
}
}
}
printf("你一共算對了%d道題",k);
}

四則運算 進階版