• 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 学习体会

    • 作业一如既往的需要大量时间慢慢细心的去完成,在摸索正确答案的过程中理解并吸收知识点,然后知道该如何运用.
    • 其次是编程作业中的一些问题及策略 比如要把运算符的优先顺序排列清楚,要分清楚哪个先运算,哪个后运算;
      在编程之前要考虑好程序的算法,写出流程图,这样才能更加快速的、有效的编程.
    • 平时真的要不间断的练习,在编程才不会犯一些低级错误,也能在编译器显示出错误时,迅速找到错误的点改正过来.
  • 相关阅读:
    指针问题,p+i什么意思i代表什么
    怎么用C语言写一个飞机程序
    switch()语句中()中必须是常量吗
    一元二次方程运行结果中输入上系数后总显示输入不合法无论系数可以得出实根
    我想学号图论求大神请教
    c-freelib库
    十进制转十六进制问题(有代码)
    关于逐个读取同一目录下txt文本的问题
    JAVA-JDK1.7-ConCurrentHashMap-测试和验证
    JAVA-JDK1.7-ConCurrentHashMap-源码并且debug说明
  • 原文地址:https://www.cnblogs.com/oyxyoyxyo/p/11721328.html
Copyright © 2020-2023  润新知