首页 > 编程语言 > 详细

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

时间:2018-01-01 23:19:03      阅读:448      评论:0      收藏:0      [点我收藏+]

一、实验作业

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

四、本周学习总结

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

  • 其目的是为了防止代码太长从而把它分成多个函数
  • 1个.c文件就是一个编译单元,编译器每次编译只处理一个编译单元
  • 所以要建项目,把多个源代码加进去,编译器就会把所有源代码文件都编译后链接起来
  • 把函数原型放在一个头文件(.h结尾)中在需要调用这个函数的源代码文件中,就能够让编译器编译时直到函数原型
  • <>时让编译器到指定目录下去找文件,而“”要求编译器首先在当前目录寻找文件,如果没有,到指定目录下去找文件

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

原文:https://www.cnblogs.com/soyam/p/8168697.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!