zoukankan      html  css  js  c++  java
  • C博客作业03—函数

    1.本章学习总结

    1.1思维导图

    1.2本章学习体会及代码量学习体会

    1.2.1 学习体会

    • 知道了程序的模块化设计可使程序结构清晰,简化复杂问题,解决代码重复问题
    • 学会使用自定义函数简化主函数,使代码更简洁,易于设计和理解
    • 理解了实参与形参的关系,学会在函数中选择适当的变量

    1.2.2 代码累计

    2.PTA总分

    2.1截图PTA中的排名得分

    2.2 我的总分

    函数:145
    总分:145

    3. PTA实验作业

    3.1 PTA题目1

    本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。素数就是只能被1和自身整除的正整数。

    3.1.1 算法分析

    int prime(int p);

    • if p=1 then
    • return 0
    • 定义循环中变量j
    • for j=2 to j*j>p
      • if p可整除j then
      • break
    • for end
    • if j*j>p then
      • return 1
    • else
      • return 0

    void Goldbach(int n);

    • 定义循环变量i
    • if n为奇数 then
      • n=n+1
    • if end
    • for 无限循环
      • if i和n-i 都为素数 then
        • 输出结果
        • break
      • if end
    • for end

    3.1.2 代码截图

    3.1.3 测试数据



    3.1.4 PTA提交列表及说明

    说明:

    Q1:忽视1不是素数造成错误
    A1:prime函数中增加对1的特判,结果正确

    4.大作业

    4.1.函数关系图

    4.2.函数功能介绍

    函数1:Level函数

    选择等级并判断输入是否正确

    函数2:Question函数

    生成随机数,随机运算符,组成计算式
    组成计算式,并得出正确答案

    函数3:Answer函数

    判断输入数字是否等于正确答案
    给出正误提示

    4.3 运行结果截图

    正常运行

    中途退出

    level不在范围内

    4.4 调试碰到问题及解决办法

    Q1:level为2,3时生成的随机数出现1位数,1位数 2位数
    A1:网上查找资料,将随机数=rand()%100,随机数=rand()%1000 改为随机数=rand()%90+10,随机数=rand()%900+100
    Q2:输入为多个数据时,多余数据占据了下一道题答案位置
    A2:网上查找资料,加入setbuf(stdin, NULL)语句,清空缓冲区
    Q3:输入非法字符出错
    A3:依照老师建议加入对scanf函数返回值的判断,并设置成输入非数字时结束程序

    4.5 大作业总结

    学会了srand(time(NULL))生成随机种子,使用rand()%随机数个数+(随机数最小值)得到给定范围的随机数,使用setbuf(stdin, NULL)清空缓冲区等一系列操作
    巩固之前所学的分支,循环,函数等结构,第一次写超过150行的大程序,感受到了程序员的辛苦
    终于切身体会到被BUG淹没的绝望

  • 相关阅读:
    Mycat分布式数据库&.NET链接mysql
    MySQL安装
    Apache 安装配置及开启PHP模块支持
    XSS MSMQ FASTDFS RABBITMQ
    json表单回填(表单反序列化回填值)
    解决80端口被占用
    Oracle for .net & ServiceStack.OrmLite
    MBTiles 离线地图演示
    Java网络编程TCP程序,服务器和客户机交互流程以及基本操作步骤。
    如何使用和理解java的反射机制
  • 原文地址:https://www.cnblogs.com/kisamko/p/9890828.html
Copyright © 2011-2022 走看看