C语言I博客作业05

一、表格


问题 答案
这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/9825
我在这个课程的目标是 学习好C语言,熟练掌握编译代码的相关技巧,掌握C语言的精髓
这个作业在那个具体方面帮助我实现目标 对函数的定义和调用有初步的了解,学会了如何编辑阶乘表
参考文献 百度百科,C语言程序设计

二、本周作业


1.PTA实验作业


1.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数据处理

数据表达:运用了变量sum以及变量t;sum以及i都是整型变量

数据处理:在刚开始的时候先使用for语句算出来一个整数的各位数字平方之和等于多少,接着然后运用if-else语句判断n的各位数字平方之和能否被5整除,能被5整除则返回1,否则返回0。

函数参数:运用的主调函数是main( );被调函数是int fun(int n );实参是n;形参是t,它们都是整型。

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
12 The result is 1 题目所给数据
1 The result is 0 最小正整数
999 The result is 0 较大正整数

1.1.4 PTA提交列表及说明

提交列表说明:

1.编译错误:将sum=o修改成为sum=0。
2.编译错误:把int  sum=0;修改成为int  sum=0,t; 接着经过在Dev-c++中编译找到了错误之处,即将int fun (int n);中的“;”进行删除,然后再在第三行和第十九行增添上“{  }”。
3.答案正确:。。。。

1.2 题目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 数据处理

数据表达:运用变量m,t,n以及sum;其中m,t,n以及sum都是整型变量。

数据处理:首先对自定义的函数进行声明,然后定义函数,接着再使用for语句算出来任一整数的每一位上数字的立方和等于多少,最后在接着运用if-else语句判断每一位上数字的立方和是否与数本身相等(即水仙花数),如果是水仙花数,则函数返回1,否则返回0。

函数参数:运用的主调函数是main();被调函数是int func(const int N);实参是N;形参是N;它们都是整型。

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
153 1 验证题目所给数据
99 0 最大俩位数
1 1 最小正整数
998 0 较大三位数

1.2.4 PTA提交列表及说明


提交列表说明:

1.运行超时:把for ( i>0; )修改for ( ;t>0; )
2.运行超时:经过在Dev-c++中编译找到了错误之处是把for语句中的循环体中的t=N/10改为t=t/10
3.答案正确:。。。。

2.代码互评

同学代码一:

自己代码一:

不同之处:
1.虽然我们所用的行数是一样的,但是不难看出我们的内容差距还是有点大的,我的看起来并没有同学的看起来简洁,相对来说有点复杂。
2.在编写中我调用了数学函数math.h,而同学并没有用也把题目写出来了。而且在循环体语句中同学只用了俩行,而我运用了三行。
3.同学在编码时运用了while语句,而我则是运用的for语句。目前我们还没学习到while语句,查阅资料发现while语句确实简单一点,但是还是不怎么懂。

同学代码二:

自己代码二:

不同之处:
1.我们俩个最大的差别就是变量定义的不一样,同学的比我多运用了一个i。
2.虽然同学比我多定义了一个变量但是她的整体代码行数还是比我少,对比一下才发现原来我比同学运用的大括号较多。

3.学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第五周(10.22-10.25) 三天 130 使用自定义函数来编程和生成乘方表和阶乘表 不知道如何调试函数以及在哪里设置断点

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会

在这一周我们主要学习了有关定义和调用求阶乘函数生成阶乘表的内容。我在这一周主要学习到了在定义函数时要对自定义的函数进行声明(简称函数声明),也学习到了俩个新的名称即形参和实参。就像在定义函数时我们的主要格式是“数据类型 函数名 (数据类型 参数)”,这里的第一个数据类型指的是函数的数据类型,而第二个数据类型则指的是参数的数据类型,参数指的是形参。而在调用函数时用到了“函数名(参数)”这里的参数指的是实参。
在最近的学习中我对待调试还是不怎么理解,不知道该在哪里进行设置断点。虽然它对我来说有一定难度,但我相信我一定会学会的。加油!

原文地址:https://www.cnblogs.com/xuxinxin/p/11737176.html