四则运算

这个作业属于哪个课程 https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/
这个作业要求在哪里 https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/homework/11376
这个作业的目标 编写生成四则运算的题目
学号 3190704122
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int takeTest(); 
int main() 
{
         int n,a,right=0;
         double percent;
         printf("请输入题目的个数:");
         scanf("%d",&n);
         for(int i=0;i<n;i++)
         {
                   a=takeTest();
                   right=right+a;
         }
         printf("正确题数:%d\n",right);
         percent=((double)right*100.00)/(double)n;
         printf("正确率:%0.2f %%\n",percent);
         return 0;
}
char getSignal()//产生随机符号 
{
    char signal[4]={'+','-','*','/'};
    srand((unsigned)time(NULL));
    return signal[rand()%4];
}
int random(double s, double e)
{
    return (int)(s+(e-s)*rand()/(RAND_MAX+ 1.0));
}
int plus(int num1,int num2)//加法 
{
	return num1+num2;
 }
 int sub(int num1,int num2)//减法 
{
	return num1-num2;
 } 
 int mul(int num1,int num2)//乘法 
{
	return num1*num2;
 } 
 int divs(int num1,int num2)//除法 
{
	return num1/num2;
 }  
int getResult(int num1,int num2,char signal)//得到结果 
{
    int res;
    switch(signal)
    {
    case '+':
        res=plus(num1,num2);break;
    case '-':
        res=sub(num1,num2);break;
    case '*':
        res=mul(num1,num2);break;
    case '/':
        res=divs(num1,num2);break;
    default:
        printf("运算符错误!\n");
    }
    return res;
}
int takeTest()//获得题目 
{
    int get;
    int num1,num2,a;
    char signal;

    srand((unsigned)time(NULL));
    signal=getSignal();
    num1=random(0,1000);
    num2=random(1,1000);
if(signal=='-')
    {
        if(num1<num2)
        {
            int t;
            t=num1;
            num1=num2;
            num2=t;
        }
    }
    if(signal=='/')
    {
        if(num2==0)
        {
            int t;
            t=num1;
            num1=num2;
            num2=t;
        }
    }
    printf("%d%c%d=",num1,signal,num2);
    scanf("%d",&get);
    fflush(stdin);   //清空输入缓冲区
    if(getResult(num1,num2,signal)==get)
        {
        printf("答案正确!\n");
        a=1;
        }
    else
    {
        printf("答案错误!\n");
        printf("正确答案是: %d\n",getResult(num1,num2,signal));
        a=0;
    }
    return a;

}


posted @ 2020-10-27 22:54  2272418213  阅读(78)  评论(0)    收藏  举报