C语言博客作业03--函数

1.本章学习总结

1.1 思维导图

1.2 本章学习体会及代码量学习体会

1.2.1 学习体会

通过了本周的学习,更加深入地了解到了函数的用法,也感受到了C语言的魅力。在不断的敲代码过程中,逐渐训练自己的逻辑能力。函数可以高效地覆盖重复代码,使代码看起来更简单有效!

1.2.2 代码累计

2.PTA总分

2.1截图PTA中函数题目集的排名得分

2.2 我的总分:

2018-c-函数 : 145分
总分:145分

3.PTA实验作业

函数题目:因为任何一个不小于6的偶数均可表示为两个奇素数之和,用函数写出来。

3.1.1 算法分析

int prime( int p )                                                                                      指出函数prime();
	if(p == 1) return 0;                                                                          1不是素数;
	else if(p == 2) return 1;                                                                 2是素数;
for(int i = 2;i <= p / 2;i ++) if(p % i == 0)   return 0;	return 1;           对大于二的数字进行判断是否为素数:是就返回1,不是就返回0;
void Goldbach( int n )                                                                            指出函数Goldbach();
for(num = 1;num < n;num ++)		if(prime(num))                        开始循环使用之前定义的判断素数函数进行寻找素数num(由小到大);
 			int number = n - num;                                                    找到另一个数字number;
 			if(prime(number))                                                           判断number是也是素数;
 				printf("%d=%d+%d",n,num,number);                 如果符合,那么输出结果并跳出循环。
 				return ;
end for;

3.1.2 代码截图

3.1.3 测试数据

3.1.4 PTA提交列表及说明

由于我是先在Decv++上做的所以我的提交列表不多。
Q1:如何在函数内部调用函数
A1:跟我们大函数一样,直接调用就ok。

4.大作业

4.1.函数关系图

4.2.函数功能介绍

所有函数集合展示图:

1.函数:输出语句

2.函数:界面生成

3.函数:选择难度等级的函数

4.函数:等级题目生成函数



4.3 运行结果截图




看来886这个数字,我的电脑也很喜欢啊!哈哈😁

4.4 调试碰到问题及解决办法

Q1:四则运算中的除法运算,除数为零?
A1:用if判断语句进行排除。
Q2:在不同难度下的代码中出现了太多重复。
A2:使用函数进行覆盖,避免多次重复,从刚开始的四百多行代码删减到了两百多行。
Q3:在随机数的选择上,无法正常过编译?
A3:这个就尴尬了,在计算时间上定义了一个计算时间差的变量名为time,但是还有一个随时间变化而变化的随机数srand(time(NULL)),这就使得编译始终过不了,后来在同学(大佬)的指点下改变了变量名终得成功编译😥,这让我深刻的认识到定义名称时一定要注意细节,尽可能地使用驼峰命名法。

4.5 大作业总结

这个代码我写了一星期多,刚开始不是很熟练地使用函数来覆盖重复代码,后来在同学的帮助下慢慢的把重复代码都给简化了!
刚开始的时候,**随机数不会用**,+-*/的选择上就出现了问题,后来看了一下上次课堂派的题目,找到了灵感,一点一点地摸索出来了。
回想刚开始的四五百行代码,自己都看着累,以后写代码一定要先理清思路,找到重复点,调用适当函数进行简化代码,使代码看起来跟简洁!
posted @ 2018-11-11 13:33  玥如  阅读(213)  评论(0编辑  收藏  举报