这个作业要求在哪里 | https://bbs.csdn.net/topics/609526289 |
我在这个课程的目标是 | 了解函数的作用,如何确定函数功能,学会怎样定义函数以及如何调用函数,了解定义函数与声明函数有何别以及什么是函数的参数什么是静态变量。 |
这个作业在那个具体方面帮助我实现目标 | 帮助我熟悉函数题目的编码以及函数题的运行 |
参考文献 | CSDN博主的代码 C语言书 问老师 |
1.PTA实验作业
1.1 题目名1
扑克牌花色(switch版)
请编写函数,将扑克牌花色的编码转换为对应的字符。
函数原型
char ToSuitSymbol(int suitCode);
说明:参数 suitCode 为扑克牌花色的编码(0 ~ 3),函数值为对应的扑克牌花色字符。若 suitCode 不在 0 ~ 3 范围内,则函数值为空字符 ‘\0’。
编码 字符
0 ♠
1 ♥
2 ♣
3 ♦
裁判程序
#include <stdio.h>
char ToSuitSymbol(int suitCode);
int main()
{
int code;
char symbol;
scanf(“%d”, &code);
symbol = ToSuitSymbol(code);
putchar(symbol);
putchar(‘\n’);
return 0;
}
/* 你的提交代码将被嵌在这里 */
要求:使用 switch-case 语句完成该函数。
1.1.1数据处理
数据表达:该代码按题目要求在自定义函数部分使用switch语句。这些变量的类型均是字符型。
数据处理:
1.1.2实验代码截图
1.1.3 造测试数据
输入样例1:0
输出样例1:
输入样例2: 1
输出样例2:
输入样例3: 2
输出样例3:
输入样例4: 3
输出样例4:
输入样例5: 6
输出样例5:
1.1.4 PTA提交列表及说明
在进行代码运行时,输出的结果有一个输出实例和实际输出,导致代码报错,最后在求助老师后,使用ASCII值输出,解决了这个问题。
1.2 题目2
计算2个复数之和与之积
分数 15
作者 张高燕
单位 浙大城市学院
分别输入2个复数的实部与虚部,用函数实现计算2个复数之和与之积。
若2个复数分别为:c1=x1+(y1)i, c2=x2+(y2)i,
则:
c1+c2 = (x1+x2) + (y1+y2)i
c1c2 = (x1x2-y1y2) + (x1y2+x2*y1)i
输入格式:
输入在一行中给出4个实数,分别代表c1和c2的实部和虚部。
输出格式:
在两行中分别输出c1+c2和c1*c2的计算结果。
1.2.1 数据处理
数据表达:定义了m1,m2,n1,n2,a1,a2,b1,b2,根据题目要求定义八个变量,满足程序的运算,类型是double类型。
数据处理:
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据1:1 1 -2 3
输出数据1:
addition of complex is -1.000000+4.000000i
product of complex is -5.000000+1.000000i
输入数据2:2 3 6 1
输出数据2:
addition of complex is 8.000000+4.000000i
product of complex is 9.000000+20.000000i
输入数据3:1 2 1 3
输出数据3:
addition of complex is 2.000000+5.000000i
product of complex is -5.000000+5.000000i
1.2.4 PTA提交列表及说明
在输出时忽略了复数后面还有一个i,导致代码报错。
2.代码互评
同学代码截图
6-2(1)
6-2(2)
7-2(1)
7-2(2)
自己代码截图
6-2
7-2
6-2
两位同学比较:两位同学的case后面的表达式不一样,第一位同学的语句是suitCode004,而第二位同学的则是s=‘\4’;两个代码的格式和风格都不一样,但整体上凸显的内容还是相似的。
7-2
两位同学比较:第一位同学的代码非常精炼,而第二位同学的代码显得比较凌乱,但是第二位同学使用的是本次作业的主要内容函数。
我与两位同学的比较:
6-2:
我与两位同学使用的均是ASCII值进行输出,两位同学在case语句后面均使用了break语句,而我在求助老师后,省去了break部分
7-2:
第一位同学直接使用表达式进行输出,在结构上进行了省略,而我输出的是表达式的结果。
第二位同学使用的是本次PTA作用的核心,函数,该同学对函数的学习有了较深的理解。
3.学习总结
3.1 学习进度条
周 | 知识点 | 还存在的问题 |
---|---|---|
第五周 | C语言基本知识 | 无 |
第六周 | c语言程序的基本结构 | 无 |
第七周 | 数据类型和运算符 | 优先级还不太理解 |
第八周 | 顺序结构与选择结构,循环结构 | 无 |
第九周 | 数组的定义,一维数组的使用 | 无 |
第十周 | 二维数组的使用 | 数组的输出还不太清楚 |
第十一周 | 函数 | 函数定义的类型还不太会 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
1.虽然对函数的理解还不够,但也还是体会到了,函数存在的便捷以及意义,对于编程来说,将其分成几个模块,在出行错误时不会影响整体,在编程的过程中体会到了更多的快乐,它也成为我继续学习的动力。
2.整个函数部分还只上过一次理论课,对于函数的理解还不太深,我会在接下来的学习时间里继续改进。