• C语言博客作业--函数嵌套调用


    一、实验作业

    1.1 6-4 十进制转换二进制

    • 设计思路
    如果n=1或n=0 输出n
    否则{
    	把n/2作为参数传入函数
    	最后递归回去输出n%2的值
    } 
    
    • 代码截图
    • 调试问题

      一开始我只把0当成特殊数,然后发现如果最后的n/2是1的话递归回去还会出现一个0

      所以我把1和0都当成临界值发现一个1变成0了,要把输出部分改成输出n的值

    1.2 学生成绩管理系统

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

    1.2.2 截图展示你的工程文件

    1.2.3 函数代码部分截图

    • 本系统代码总行数:256
    • 1.2.4 调试结果展示

      新增人数过多,重新输入

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

    三、阅读代码

    /* 递归实现顺序输出整数*/ 
    #include <stdio.h>
    void printdigits( int n );
    int main()
    {
        int n;
        scanf("%d", &n);
        printdigits(n);
        return 0;
    }
    void printdigits( int n ){
    	if(n>=0&&n<=9) printf("%d
    ",n); // 最后一位直接输出 
    	else{
    		printdigits(n/10);   // 和十进制转二进制类似,先让n/10作为参数调用函数 
    		printf("%d
    ",n%10);   //最后递归回来刚刚好是顺序排列 
    	}
    }
    
    • 该代码实现了顺序输出整数,一开始我想的是类似以前做个的顺序输出整数,让先求余再除以10,然后发现只能逆序输出,而该代码让n/2作为参数一直调用直到n在0~9之间,由于递归的机制让原本逆序变成顺序输出
    • 而且代码量少,言简意骇

    四、本周学习总结

    本周主要是学习大程序结构

    • 其目的是为了防止代码太长从而把它分成多个函数
    • 1个.c文件就是一个编译单元,编译器每次编译只处理一个编译单元
    • 所以要建项目,把多个源代码加进去,编译器就会把所有源代码文件都编译后链接起来
    • 把函数原型放在一个头文件(.h结尾)中在需要调用这个函数的源代码文件中,就能够让编译器编译时直到函数原型
    • <>时让编译器到指定目录下去找文件,而“”要求编译器首先在当前目录寻找文件,如果没有,到指定目录下去找文件
  • 相关阅读:
    正则表达式练习,持续更新中
    Jquery使用mouseenter和mouseleave实现鼠标经过弹出层且可以点击
    SQL查找 删除重复数据只保留一条
    TreeView(C#)无限目录树代码片段
    ora-01440:要减小精度或标度,则要修改的列必须为空
    SQL查询和删除重复字段的内容
    CodeSmith(C#)简单示例及相关小知识
    MSSQL 自定义函数详解
    一些精妙的sql语句收集
    134.Gas Station
  • 原文地址:https://www.cnblogs.com/soyam/p/8168697.html
Copyright © 2020-2023  润新知