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

  • 作业一如既往的需要大量时间慢慢细心的去完成,在摸索正确答案的过程中理解并吸收知识点,然后知道该如何运用.
  • 其次是编程作业中的一些问题及策略 比如要把运算符的优先顺序排列清楚,要分清楚哪个先运算,哪个后运算;
    在编程之前要考虑好程序的算法,写出流程图,这样才能更加快速的、有效的编程.
  • 平时真的要不间断的练习,在编程才不会犯一些低级错误,也能在编译器显示出错误时,迅速找到错误的点改正过来.
posted on 2019-10-26 14:47  oyxyoyxyo  阅读(178)  评论(4编辑  收藏  举报