一、本周教学内容&目标
第2章 用C语言编写程序-函数 2.5 生成乘方表与阶乘表。使学生对函数的定义和调用有初步的认识,能模仿编程。
二、
三、本周作业

1.1编写函数fun,其功能是:判断一个整数的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。
变量 |
变量来源 |
变量类型 |
n |
输入 |
整形(int) |
m,sum |
随n的变化而变化 |
整形(int) |
数据处理:
表达式:
①m=n%10;
②sum = sum+m*m;
③n=n/10;
流程结构:循环结构;分支结构;顺序结构
主调函数:main()
被调函数: int fun( int n );
实参:n. 类型:整形(int)
形参:m, sum. 类型:整形(int)

输入数据 |
输出数据 |
说明 |
2 |
The result is 0 |
一位数 |
5 |
The result is 1 |
一位数 |
12 |
The result is 1 |
二位数 |
56 |
The result is 0 |
二位数 |
123 |
The result is 0 |
三位数 |
315 |
The result is 1 |
三位数 |

①部分正确:
问题:对于输入的是几位数考虑不全面,只考虑三位数的情况
方法:重新编写程序
②编译错误:
问题:没找出来
方法:加几个空格再次提交
③编译错误:
问题:没将题目审清楚,定义函数是直接嵌入的
方法:将前面一部分删掉
1.2、本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=13+53+3^3=1+125+27=153,而1或155则不是水仙花数。如果是水仙花数,则函数返回1,否则返回0.
数据表达:
变量 |
变量来源 |
变量类型 |
N |
输入 |
整形(int) |
a,b,c,sum |
随自变量变化而变化 |
整形(int) |
数据处理:
表达式:
①a=N%1000/100;
②b=N%100/10;
③c=N%10;
④sum=a*a*a+b*b*b+c*c*c;
流程结构:分支结构;顺序结构
主调函数:main()
被调函数: func(const int N)
实参:N . 类型:整形(int)
形参:a, b, c, sum. 类型:整形(int)

输入数据 |
输出数据 |
说明 |
123 |
0 |
非水仙花数 |
153 |
1 |
水仙花数 |
266 |
0 |
非水仙花数 |
370 |
1 |
水仙花数 |
371 |
1 |
水仙花数 |
407 |
1 |
水仙花数 |
666 |
0 |
非水仙花数 |

问题:没注意细节,立方弄成了平方
方法:将它变成立方
 ### 总的来说这一周的代码大体还是相同的 ``` ❶与同学①代码在求各位数的方法有点不一样,同学在if语句中的写法让人明白是用什么来比较,而我则是多个变量。 ❷同学②使用了一个while的循环语句,可以清楚的求出各个位数,适用范围比我这种方法广泛。而我的只能实行三位数。 ```
### 3.1 学习进度条
周/日期 |
这周所花时间 |
代码行 |
学到的知识点简介 |
目前比较迷惑的问题 |
10.14~10.20 |
25小时 |
85 |
for循环语句使用 |
有些时候变量不是很清楚 |
10.21~10.27 |
3天 |
86 |
怎样定义函数 |
有的函数体自己无法写出 |
3.2累积代码行和博客字数

3.3 学习内容总结和感悟

收获:
❶知道怎样定义函数
❷了解了实参与形参,主函数与被调函数
❸怎样使用循环语句来求需要的东西
❹同一类型的题目要求不同方法就不同(如:输入三位数与整数求各位数时,前者有两种方法,而后一个要通过循环语句实现)
❤ 感悟: 从刚开始的担心无法按时完成作业,到现在怎样把作业做的更完美,这就是进步。熟能生巧,所以我们要多练习,才会进步更快。 |