• 计算与软件工程第二次作业


    作业一

    要求

    像《构建之法》的人物阿超那样,写一个能自动生成小学四则运算题目的命令行 “软件”。 可以使用C,C++,或者C#等语言实现。

    • 分别能够实现小学一、二、三、四、五年级的四则运算要求, 逐步实现各个年级的难度
    • 要求能够通过输入来选择不同年级,每个年级还得区分难,中,易三个等级
    • 对于三、四、五年级需要支持括号与多个运算符
    • 程序支持判断对错及累计得分与时间
    • 一次可以出100道题目,而且不能重复(比如2+3 与 3+2 算重复的)
    • 充分发挥想象增加满足小学生数学检测需要的功能

    程序代码

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    
    char getSignal();                      //获取随机运算符的函数
    int random(double,double);             //获取随机数函数
    int getResult(int,int,char);           //结果计算函数
    int takeTest();                        //题目生成函数
    
    void main() 
    {
             int i,n,a,right=0;
             double percent;
             printf("请输入题目的数量:");
             scanf("%d",&n);
             for(i=0;i<n;i++)
             {
    			 a=takeTest();
                 right=right+a;
             }
             printf("回答正确!
    ");
             printf("正确答案为:%d
    ",right);
             percent=((double)right*100.00)/(double)n;
             printf("正确率为:%0.2f %%
    ",percent);
    }
    
    char getSignal()
    {
        char signal[4]={'+','-','*','/'};
        srand((unsigned)time(NULL));
        return signal[rand()%4];
    }
    
    
    
    int random(double start, double end)
    {
        return (int)(start+(end-start)*rand()/(RAND_MAX+ 1.0));
    }
    
    
    int getResult(int num1,int num2,char signal)
    {
        int res;
        switch(signal)
        {
        case '+':
            res=num1+num2;break;
        case '-':
            res=num1-num2;break;
        case '*':
            res=num1*num2;break;
        case '/':
            res=num1/num2;break;
        default:
            printf("运算符错误!
    ");
        }
        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 temp;
                temp=num1;
                num1=num2;
                num2=temp;
            }
        }
        if(signal=='/')
        {
            if(num2==0)
            {
                int temp;
                temp=num1;
                num1=num2;
                num2=temp;
            }
        }
        printf("%d%c%d=",num1,signal,num2);
        scanf("%d",&get);
        fflush(stdin);   //清空输入缓冲区
        if(getResult(num1,num2,signal)==get)
            {
            printf("回答正确!
    ");
            a=1;
            }
        else
        {
            printf("回答错误!
    ");
            printf("正确答案为: %d
    ",getResult(num1,num2,signal));
            a=0;
        }
      	system ("pause");
    	return a;
    
    }
    

    作业二

    • git学习与码云代码托管平台gitee
      阅读网址如下关于git的使用
      https://www.liaoxuefeng.com/wiki/896043488029600
      或https://gitee.com/help/categories/43
      通过之前已经注册的码云账号,学会简单的使用
      将作业1所写代码托管到gitee平台上个人仓库
    • 在博客园给出作业并包括所写的代码,同时给出托管于gitee上的链接

    https://gitee.com/guozhiwei123/codes/x4bfh30c6odpnmytur9ki22

    总结

    我的电脑用不了终端,更改完高级系统设置也没用,本地库无法关联远程库,只能添加代码片段

  • 相关阅读:
    "Illegal group reference"异常的分析
    一个基于WEB的js时间控件的实现
    ASP.NET网站的网络安全性
    关于"parseInt"
    【C#算法】冒泡排序 选择排序 插入排序 希尔排序转
    【c#】web.config续
    【C#】GridView用法
    [C#]接口引
    【SQL】DBCC
    【C#】泛型
  • 原文地址:https://www.cnblogs.com/guozhiwei123/p/12372100.html
Copyright © 2020-2023  润新知