c语言函数作业

一、PTA实验作业

6-3 使用函数判断完全平方数

1. 本题PTA提交列表

1232392-20171118005330296-1325625366.png

2. 设计思路

1.利用由题目给定的int IsSquare( int n )进行操作 2.首先判断n是否大于0.
3.若n>0,则根据函数n*1.0/sqrt(n)是否等于sqrt(n)来判断是否为完整数,符合则return 1,不符合则return 0. 4.若n=0,return 1.
5.若n<0,return 0. ###3.本题调试过程碰到问题及PTA提交列表情况说明 没有考虑n=0也是完整数而答案错误.

6-7 使用函数输出指定范围内的完数

1. 本题PTA提交列表

1232392-20171118005612749-249125946.png

2. 设计思路

1.由题目给定的函数int factorsum( int number ),void PrintPN( int m, int n )进行下一步操作. 2.首先要对正整数m和n用 factorsum( int number )来判断其是否为完数.
3.利用循环语句来判断. 4.如果number是1,因为1是完数,所以return 1;
5.若number!=1,继续进行下一步的判断是否number%i=0. 6.符合继续执行用变量s将这些因子加起来.
7.因为完数就是该数恰好等于除自身外的因子之和,所以循环结束后要减去自身的值 8.再进行s是否等于number的判断,最后输出number;
9.再利用函数void PrintPN来输出完数及其因子的和. 10.同样用的是i=m;i<=n;i++的循环语句,同样判断i是否为1.
11.符合则输出"1 = 1",换行,并且用count来判断统计完数的个数 12.若i!=0,就要用类似factorsum的循环语句来判断,这里用j=1;j<=i-1来对其判断
13.同样是否i%j=0; 14.符合用变量s将这些因子加起来,并且减去自身的值后是否等于i,等于则count加一,并且输出i.
15.再求i的因子的相加式,用j=;j<=i-1的循环语句. 16.同样判断是否i%j=0,符合则输出空格和j.
17.再用函数是否j<i/2来进行"+"和空格的输出,若符合则输出空格和"+". 18.输出完数及其因子相加式后输出换行.
` 19.最后对完数的个数进行判断,如果count=0,则输出"No perfect number"

3.本题调试过程碰到问题及PTA提交列表情况说明

1232392-20171118102437749-1057769143.png

7-1 求组合数

1. 本题PTA提交列表

1232392-20171118005709749-1450888878.png

2. 设计思路

1.自定义函数double fact(int x) 2.定义整形变量m和n.
3.输入m和n. 4.输出"result = %.0f",fact(n)/(fact(m)fact(n-m)).
5.进入函数double fact中进行计算. 6.利用 i=1;i<=x循环语句和fact=fact
1来求x的累乘.然后返回fact的值

3.本题调试过程碰到问题及PTA提交列表情况说明

1232392-20171118104146890-924497549.png

二、同学代码结对互评

1.同学互评照片。

2.我的代码、互评同学代码截图

` 我的代码
1232392-20171118005819906-763099957.png

` 佳亮的代码
1232392-20171118163656937-1293140846.jpg

3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。

1.我和佳亮一样都是先将一个不能用循环表示出来的值先进行判断,不过我用的值比他多一个, 2.我觉得佳亮的第函数的代码会比较好,它可以少一步循环,更加简洁

三、截图本周题目集的PTA最后排名。

1232392-20171118115613531-680340451.png

1232392-20171118115634202-1822493999.png

四、本周学习总结

1.你学会了什么?

1.1 C语言哪些数据类型?

整形 长整型
短整形 无符号整形
无符号长整形 无符号短整形
字符型 单精度双精度浮点型

1.2 字符型数据需要注意地方?

字符数字的转换用ch-'0' ###1.3 自增自减运算符? a--/a++是后缀(自减)自增,变量值(减少)增加,表达式值不变
--a/++a是前缀(自减)自增,变量值(减少)增加,表达式值增加 ###1.4 运算符优先级? 只有单目运算符和赋值运算符从左到右结合

1.5 C语言哪些表达式?课堂派哪里做错,做错的请在这里分析原因?

` 赋值表达式,逻辑表达式,条件表达式,关系表达式
1232392-20171118110230781-418560340.png

j++时后缀自增不变. ###1.6 其他内容? 判断字符的优先级.
字符型字母和数字的转换. ##2.本周的内容,你还不会什么? 还不会熟练的判断字符的优先级
对于异或还不太会使用 ##3.循环结构考试总结 ###1.哪题做错了,怎么改? 最后两题,通过dev的重新编译来改.
1232392-20171118122620734-1850433075.png

1232392-20171118122646624-1898782626.png

1232392-20171118122822546-505108988.png

2.考试结果满意么,怎么改进?

不满意,多打代码,熟练的运用for循环语句. ###3.其他总结。 数据类型这一块内容多而且杂,要经常去复习和做题巩固
` 有些比较复杂的题目用while比用for会相对简单得多,而且容易理解

转载于:https://www.cnblogs.com/lyc1139/p/7854362.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值