zoukankan      html  css  js  c++  java
  • C语言I博客作业05

    问题 回答
    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 C语言I博客作业05
    我在这个课程的目标是 对函数的定义和调用有初步的认识,能模仿编程.
    这个作业在那个具体方面帮助我实现目标 如何正确的自定义函数,以及参数的了解
    参考文献 《C语言程序设计》《C Primer Plus》

    1.PTA实验作业

    1.1判断一个整数的各位数字平方之和能否被5整除

    编写函数fun,其功能是:判断一个整数的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。
    函数接口定义:

    int fun(int n );

    其中 n 是用户传入的参数。 函数判断n的各位数字平方之和能否被5整除,能被5整除则返回1,否则返回0。
    裁判测试程序样例:

    include <stdio.h>

    int fun( int n );
    int main()
    {
    int m;
    scanf("%d", &m);
    printf("The result is %d\n", fun(m));
    return 0;
    }
    /* 你的程序将被嵌入在这里 */

    输入样例:

    12

    输出样例:

    The result is 1

    输入样例:

    123

    输出样例:

    The result is 0

    1.1.1数据处理

    数据表达:用int定义变量s代表题中n的各位数字平方之和;类型为整型
    数据处理:数据用到算术表达式,赋值表达式,关系表达式和while循环结构。
    函数参数:主调函数int main(),被调函数int fun(),整型。 函数定义处的 n 是形参,函数调用处的 s 是实参,类型都为整型。

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出结果 说明
    20 The result is 0 各位数字平方之和不能被5整除
    50 The result is 1 各位数字平方之和能被5整除
    55 The result is 1 各位数字平方之和能被5整除
    123 The result is 0 各位数字平方之和不能被5整除

    1.1.4 PTA提交列表及说明


    1.编译错误:在两个(n%10) * (n%10)之间,中间的 * 我总是习惯性用数学的思维,总是下意识认为是(n%10)(n%10)。
    2.编译错误:都学了这么久的编程了“;”还是有忘记输入的时候,无奈啊。加上;就通过了。
    3.部分正确:我一开始写的是 s=(n%10) * (n%10),答案应该是 s=s+(n%10) * (n%10)。
    4.答案正确。

    1.2 水仙花数判断

    本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=13+53+3^3=1+125+27=153,而1或155则不是水仙花数。如果是水仙花数,则函数返回1,否则返回0.
    函数接口定义:

    int func(const int N);

    其中N是用户传入的参数。N的值不超过int类型的范围。如果参数N是水仙花数,则返回1,否则返回0。
    裁判测试程序样例:

    include <stdio.h>

    int func(const int N);
    int main()
    {
    int N;
    scanf("%d", &N);
    printf("%d\n", func(N));
    return 0;
    }

    输入样例:

    153

    输出样例:

    1

    1.2.1 数据处理

    数据表达:用int定义变量a,b,c,sum,result. 类型为整型。
    数据处理:关系表达式,算术表达式和条件结构。
    参数:主调函数int main(),被调函数int func() 整型.形参 N ,实参 a, b, c,sum,result。

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出结果 说明
    232 0 不是水仙花数
    370 1 是水仙花数
    566 0 不是水仙花数

    1.2.4 PTA提交列表及说明


    1.编译错误:在a的关系表达式中%没有输入
    2.编译错误:应该sum==N,我误写成sum=N.
    3.编译错误:一下打快了,又没注意看打成了aaa*+......
    4.编译错误:没有int定义result
    5.编译错误:直接用的if.....return 1; else....return 0;
    6.部分正确:没有return result
    7.答案正确

    2.代码互评

    同学代码截图


    自己代码截图

    1.同学代码中用到了逻辑运算符,关系运算符等多种数据结构。
    2.同学的代码中在某些地方有注释,更方便他人读懂他的代码。
    3.同学代码中还用到了while语句
    4.代码的编写格式比自己的更加方便读懂,而且观看美观,不会让人觉得枯燥单调,有继续看下去的兴趣。

    3.学习总结

    3.1 学习进度条

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第三周10.9-10.12 两天 188 对代码数据的处理了解,比如类型结构等 什么时候用int,double声明变量,逻辑运算符的运用等
    第四周10.16-10.18 一天半 190 如何用double型数据使用lf%,怎样在程序中用for语句实现循环,可指定循环次数 循环体中的关系表达式的正确运用
    第五周10.23-10.26 两天 226 运算符的优先级顺序,自定义函数的编写,对数据参数的了解 具体如何在题目中定义函数,参数又应放在哪里才是正确位置

    3.2 累积代码行和博客字数

    3.3 学习内容总结和感悟

    3.3.1 学习内容总结

    3.3.2 学习体会

    • 作业一如既往的需要大量时间慢慢细心的去完成,在摸索正确答案的过程中理解并吸收知识点,然后知道该如何运用.
    • 其次是编程作业中的一些问题及策略 比如要把运算符的优先顺序排列清楚,要分清楚哪个先运算,哪个后运算;
      在编程之前要考虑好程序的算法,写出流程图,这样才能更加快速的、有效的编程.
    • 平时真的要不间断的练习,在编程才不会犯一些低级错误,也能在编译器显示出错误时,迅速找到错误的点改正过来.
  • 相关阅读:
    文件分段后,进行分片上传逻辑
    总结几个最近处理问题中使用http协议的代码
    openresty(nginx)中使用lua脚本获取请求IP地址的代码
    线上Storm的worker,executor,task参数调优篇
    async/await
    DataTables.Queryable Sample
    关闭 XXXXX 前你必须关闭所有会话框
    关于P/Invoke的闲话
    Windows 2008 Scheduled tasks result codes
    MySQL 8.0.13的使用心得
  • 原文地址:https://www.cnblogs.com/oyxyoyxyo/p/11721328.html
Copyright © 2011-2022 走看看