zoukankan      html  css  js  c++  java
  • C语言博客作业--函数嵌套调用

    一、实验作业

    1.1 PTA题目6-4 十进制转换二进制

    1.设计思路

    定义x用于存储每一位二进制数
        若n<2,输出n,
        否则x=n%2存储2进制数,再次调用该函数
        输出x
    

    2.代码截图

    3.调试问题

    • 本题主要是函数出口错误,后来仔细阅读代码发现问题

    1.2 学生成绩管理系统

    1.2.1 画函数模块图,简要介绍函数功能

    • 代码总数266行

    1.2.2 截图展示你的工程文件

    1.2.3 函数代码部分截图

    • 主函数
    • 头文件
    • 查找
    • 排序
    • 显示
    • 修改
    • 删除
    • 添加

    1.2.4 调试结果展示

    新增学生我是让程序在遇到输入-前可以不断添加学生,在任意时候都可以返回主菜单
    新增后按学号降序
    删除成绩将删除的成绩用null代替成绩
    修改成绩
    排序
    查找
    基本功能都能实现,只是界面太丑了,还有一些显示什么的不够便捷。。

    程序健壮性

    • 1.在输入命令时出现字母或其他字符
    • 2.新增学生时信息有错比如名字出现数字,学号出现字母,分数越界
    • 3.没有学生查找学生,删除成绩等

    1.2.5 调试碰到问题及解决办法。

    这一道题还有很多功能没有实现,等我后续慢慢完善吧....

    二、截图本周题目集的PTA最后排名

    三、阅读代码

    /1.一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只。
    这样他经过了七个村子后还剩两只鸭子,问他出发时共赶多少只鸭子?经过
    每个村子卖出多少只鸭子?
    /

    #include <stdio.h>  
    int f(int n)  
    {  
    int num;  
    if(n==8)//第7个村子过后,也就是到第八个村子时还有2只鸭  
    {  
    return 2;  
    }  
    else  
    {  
    num =(f(n+1)+1)*2; //递归调用  
    printf("第%d个村子卖鸭子%d只
    ",n,num/2+1);  
    }  
    return num;  
    }  
    int main()  
    {  
    int num = f(1);  
    printf("总共赶鸭子%d个
    ",num);  
    return 0;  
    }  
    
    

    这题还有一个不用递归函数的做发,比较复杂,两个相比较就可以体现了递归的优越性

    四、本周学习总结

    • 指针数组可以存放多个字符数组,指针数组中每一个元素都是字符数组的首地址,指针数组名是二级指针
    • 二级指针表示指针的指针
    • malloc()函数可以定义动态内存避免内存的浪费,最后要用free释放内存

    学习体会

    • 本周学习了建立项目,这比pta上的题目难多了,把那么多功能集合在一起时,就要考虑更多的东西
  • 相关阅读:
    网页中15秒后重新发送验证码,多少秒后发送验证码
    javascript 数组去重 unique
    微信支付和微信支付通知基于sdk的说明
    php对象序列化和cookie的问题,反序列化false
    php对象序列化总出错false
    图片懒加载lazyload.js详解
    手机联动地址选择框,移动端地址联动
    Java类加载原理解析(转)
    location对象介绍
    SpringMVC使用fastjson自定义Converter支持返回jsonp格式(转)
  • 原文地址:https://www.cnblogs.com/Airoure/p/8159381.html
Copyright © 2011-2022 走看看