zoukankan      html  css  js  c++  java
  • 计算与软件工程第二次作业

    作业一

    要求

    像《构建之法》的人物阿超那样,写一个能自动生成小学四则运算题目的命令行 “软件”。 可以使用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

    总结

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

  • 相关阅读:
    Struts2+Spring3+Mybatis3开发环境搭建
    spring+struts2+mybatis
    【LeetCode】Populating Next Right Pointers in Each Node
    【LeetCode】Remove Duplicates from Sorted Array
    【LeetCode】Remove Duplicates from Sorted Array II
    【LeetCode】Binary Tree Inorder Traversal
    【LeetCode】Merge Two Sorted Lists
    【LeetCode】Reverse Integer
    【LeetCode】Same Tree
    【LeetCode】Maximum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/guozhiwei123/p/12372100.html
Copyright © 2011-2022 走看看