zoukankan      html  css  js  c++  java
  • 第三次作业:个人项目-小学四则运算“软件”之初版

    本次作业要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2166

    我的github远程仓库的地址:https://github.com/LinsenLiang/Aika

    一、题目要求:

     具体要求:任何编程语言都可以,命令行程序接受一个数字输入,然后输出相应数目的四则运算题目和答案。例如输入数字是 30, 那就输出 30 道题目和答案。 运算式子必须至少有两个运算符,运算数字是在 100 之内的正整数,答案不能是负数。 如:23 - 3 * 4 = 11

     扩展要求:

    1) 要求能出和真分数 (二分之一, 十二分之五,等)相关的练习题。

    2) 并且要求能处理用户的输入,并判断对错,打分统计。 要求能处理用户输入的真分数, 如 1/2, 5/12 等。

    二、个人软件过程耗时估计与统计表

    PSP2.1 Personal Software Process Stages Time Senior Student Time
    Planning 计划 4 6
    · Estimate 估计这个任务需要多少时间 4 6
    Development 开发 10 13
    · Analysis 需求分析 (包括学习新技术) 1 1
    · Design Review 设计复审 1 1
    · Coding Standard 代码规范 1 1
    · Design 具体设计 1 1
    · Coding 具体编码 4 6
    · Code Review 代码复审 1 1
    · Test 测试(自我测试,修改代码,提交修改) 1 2

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    三、实现

     1 #include<stdio.h>
     2 #include<time.h>
     3 #include<stdlib.h>
     4 
     5 int testNum;              //题目个数
     6 int num1,num2,num3;       //四则运算的三个数值
     7 int result;               //四则运算正确答案
     8 int userAnswer;           //用户答案
     9 int score = 0;            //用户回答正确个数
    10 int operator1,operator2;  //运算符
    11 
    12 void inputTestNum();       //获取题目个数
    13 void test();               //题目
    14 void Answer(int result);   //获取用户答案
    15 void randomNumber();       //随机产生1~99的整数
    16 void randomOperator();     //随机产生1~4的整数
    17 void resultCheck(int ret); //判断产生答案是否是负数
    18 int main()
    19 {
    20     inputTestNum();
    21     printf("
    ");
    22     test();
    23     printf("正确率:%d%%",score*100/testNum);
    24 }

    四、实现过程中的问题

    1.式子运算结果不能为负数(这和判断方法有关,预计是把所有情况分开判断,后来发现不能解决某些情况的判断,只能通过result结果判断正负,导致很多时候循环很难结束,得不到合适的运算式子)

    比如:两个运算符均为减号时,由于三个数都是0~100间的随机整数,num2+num3的值很容易比num1大,然后重新生成三个随机数,判断结果是否为负数,一直循环,直到生成的随机数的差满足不为负数的条件。

    2.代码优化程度不够,打不到预计的效果。

    五、运行结果

  • 相关阅读:
    自定义组件要加@click方法
    绑定样式
    647. Palindromic Substrings
    215. Kth Largest Element in an Array
    448. Find All Numbers Disappeared in an Array
    287. Find the Duplicate Number
    283. Move Zeroes
    234. Palindrome Linked List
    202. Happy Number
    217. Contains Duplicate
  • 原文地址:https://www.cnblogs.com/LinsenLiang/p/9764899.html
Copyright © 2011-2022 走看看