pta循环作业

7-1

设计思路:本题是道简单的循环累加题,首先在每一次循环内算出每一项的值,然后对每一项进行累加,最后输出累加和的值。

流程图:

调试过程:本题无调试过程

7-2

设计思路:本题乍看之下是道简单的循环题,但是在题目之下隐藏着许多细节。首先应建立循环,然后在每一次循环内调用平方根函数sqrt,算出每一项的值,再定义sum进行累加,此处应注意sqrt函数包含在math.h头文件内。最后,输出时应注意格式,并且精确到小数点后面两位。

流程图:

 

 

调试过程:1,

如图,在输出函数printf处,因没有注意题目中所指的输出格式导致错误,应在“=”的左右侧各填上一个空格。

2,

如图,本次调试过程较图一无任何修改,因为还没有找出错误,仅仅是为了看看错误类型而提交。

3,

如图,在这里已经弄清楚题意,但是仍有考虑不周的地方,就是当输入n极大的时候单精度型浮点数可能会有误差,应把对sum和a的定义由float改为double

7-6

设计思路:本题是要对给定区间内的素数进行统计,首先需要建立循环,每一步循环内要对当前循环数进行是否为素数的判断,所谓素数,就是除一和本身外没有其他因数的数。具体判断过程如下:对于一个大于一的整数,从2开始用循环计数i去除此数,若余数不为零,则循环计数i自加,循环继续,否则跳出循环。在循环之外,设计一个判断,若循环计数i等于这个数的一半,则这个说明从2开始到其本身没有其他因数,则这个数是素数,否则这个数不是素数。

流程图:

调试过程:如图

本题只进行了一次调试过程,就是没有考虑到如果循环计数从一开始,虽然最后也能得到类似的结果,但是若是输入的区间包含整数一,那么按照算法,在i=1时跳出循环,那么判断过后1也为素数,这样就与常理不符,应把循环的起点,i=1改为i=2

#同学代码互评

同学的代码:

我的代码:

不同在于:在判断行数时雷慧同学的方法是先判断正方形边长n是否为偶数,若是偶数则列数d为n/2,否则列数为(n+1)/2;而我的方法是比较浮点数n/2.0与整型数n/2,若是浮点型与整型数相差大于0.5,则列数b为n/2+1,否则列数b为n/2。

其他地方并没有不同。

各自优势:不同的思维构造不同的方法,我觉得两个方法都很好,但雷慧同学的代码更加简洁,值得学习。

#本周pta排名

#本周学习总结

1,了解了while,do-while,for等一系列循环体,学会了循环嵌套。

2,一些较难的题还是不会做,如阅览室、水仙花数。

转载于:https://www.cnblogs.com/zzb123456789/p/8137984.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值