pta函数作业
7-10
设计思路:本题需要判断一个正整数数是否为素数,所谓素数,就是除一和本身外没有其他因数的数。具体判断过程如下:对于一个大于一的整数,从2开始用循环计数i去除此数,若余数不为零,则循环计数i自加,循环继续,否则跳出循环。在循环之外,设计一个判断,若循环计数i大于这个数的平方根,则这个说明从2开始到其本身没有其他因数,则这个数是素数,否则这个数不是素数。
流程图:
调试过程:1,
如图,编写错误,循环结束的标志写成了i<n,应该改为i<count
2,
如图,循环结束条件i<n/2,导致运行超时,应把其及所有条件改为sqrt(n)
3,
如图,上方循环结束条件已改为i<sqrt(n),但是下方的判断条件却仍为i>n/2,应该为一致。
4,
如图,当取最大整数时出错,应讲定义的n改为双精度浮点型
5,
如图,输入最大最大整数时,无论是否提前跳出循环,i都不满足i>sqrt(n),应将整个函数改为整型,用return返回较为合适
7-4
设计思路:本题要求验证哥德巴赫猜想,即验证一个大于2的的偶数总能表示为两个素数的和这句话是否正确,正常的思路应该是从小到大排出素数,若其中两个素数的和等于输入的偶数,则取出这两个素数。但是这样做未免太过麻烦,程序的长度先不说,运行的时间也大大超出限制,所以应当换种思路,从2开始,用所输入的偶数减去一个素数,然后判断所得差是否为素数,若是,则按格式输入这两个素数,若不是,用下一个素数做减数继续循环。
流程图:
调试过程:本题没有进行调试。
7-3
设计思路:本题是简单的循环题,但是要将主要运算步骤放于子函数内,首先写入<math.h>头文件,然后在主函数内输入n的值,将此值作为实参传给子函数,子函数内设计循环,以循环计数i从1到n为止,在每一次循环内调用pow函数求幂,然后对其进行累加
流程图:
调试过程:
如图,输入的n并没有被定义,应在上方补充整形定义
#同学互评
图一为我的代码,图二为同学代码。
不同处:
1,我在子函数的命名上使用了标准的fact,二同学只是简单的用单个字母命名,我认为我这样做使得代码更明了,更容易读懂。
2,在定义结果值是,我使用了double型,而同学使用的是float型,我认为直接按照题目意思来可以避免出错,但是从长远的角度来看,本题要求使结果在double精度范围内,同学使用float型必然符合,但是若题目稍加改变,我出错的可能性比他大得多,这是他的主要优势。
3,在循环结构上,我的方式是由i=0开始,结束条件为i<n。同学的方式为从i=1开始,结束条件为i<=n。此处不同至少单纯的风格不同,并没有对错之分。按我个人观点,我认为我这样做对于后面数组题目有帮助,同样的写法可以增加自己的熟练度,从而有效地避免编写代码时造成不必要的失误。
#本周pta排名
#本周学习总结
1,学会了使用子函数,使代码的结构更加完整,思路更清晰,学会区分i++与++i。
2,对于逻辑运算符的优先级别还不是很清楚,需要加深印象。
pta函数作业的更多相关文章
- 网络1712--c语言函数作业总结
作业亮点 1.总体情况 很多同学在思路方面大部分写的都很详细,能够通过思路回顾自己的代码 大部分同学都认真完成PTA,也充分利用了函数来解题 大部分同学能够从上机考试中总结自己的失误和不足点,制订了自 ...
- c语言函数作业
一.PTA实验作业 6-3 使用函数判断完全平方数 1. 本题PTA提交列表 2. 设计思路 1.利用由题目给定的int IsSquare( int n )进行操作 2.首先判断n是否大于0. 3.若 ...
- 一、PTA实验作业
一.PTA实验作业 1.题目1: 6-2 线性表元素的区间删除 2. 设计思路 定义i,j; 判断L,minD,maxD; while(i<l->Last) { 判断所有满足条件的数,de ...
- pta指针作业
#PTA实验作业 6-1 本题pta提交列表 设计思路 本题是一道简单的指针程序题,两个数已经分别被指针定义,只要把用其指针把二者加在一起和减去即可 调试过程 本题无调试过程 代码截图 6-2 1. ...
- PTA实验作业-01
一.PTA实验作业 本周要求挑3道题目写设计思路.调试过程.设计思路用伪代码描述.题目选做要求: 顺序表选择一题(6-2,6-3,7-1选一题),代码必须用顺序结构抽象数据类型封装 单链表选择一题(6 ...
- 网络1711c语言函数作业总结
作业地址:https://edu.cnblogs.com/campus/jmu/JMUC--NE17111712/homework/1335 总结 1.评分细则 评分注意事项 代码规范问题依旧要重视, ...
- Python之函数作业
Python之函数作业 爬页面 #爬虫页面,send一次爬一次 from urllib.request import urlopen def get(): while True: url = yiel ...
- 一·PTA实验作业
本周要求挑选3道题目写设计思路,调试过程.设计思路用伪代码描述.题目选做要求: 顺序表选择一题(6-2,6-3,7-1选一题) 单链表选择一题(6-1不能选) 有序表选择一题 一.题目 6-3 jmu ...
- PTA第一次作业和第二次作业
PTA的第一次作业第一题: #include <stdio.h> int main (void) { int grade,i,N ,a=0,b=0,c=0,d=0,e=0; printf( ...
随机推荐
- SpringBoot学习17:springboot热部署配置
spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用. devtool ...
- mysql if...else 的使用
select case when tca.id = '3' then 'vw' else epc_code end as epccode,tfp.product_id, tfp.vender, tfp ...
- spring mvc 拦截器(已完成)
1:ModelAndView @RequestMapping("/viewall")public ModelAndView viewAll(String name,String p ...
- Angularjs基础(十)
ng-blur 描述:规定blur 事件的行为 实例:当输入框失去焦点的(onblur)时执行表达式: <input ng-blur="count = count + 1" ...
- #leetcode刷题之路4-寻找两个有序数组的中位数
给定两个大小为 m 和 n 的有序数组 nums1 和 nums2.请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)).你可以假设 nums1 和 nums2 不会 ...
- 全局变量重复定义,fatal error LNK1169: 找到一个或多个多重定义的符号
1.在GlobeValue.h中定义了一个变量: char gl_UID[256]; 2.在b.cpp和e.cpp中分别引用GlobeValue.h,并且使用gl_UID的全局变量, 结果出现:fat ...
- Struts2进阶学习4
Struts2进阶学习4 自定义拦截器的使用 核心配置文件 <?xml version="1.0" encoding="UTF-8"?> <! ...
- Mit6.824 Lab1-MapReduce
前言 Mit6.824 是我在学习一些分布式系统方面的知识的时候偶然看到的,然后就开始尝试跟课.不得不说,国外的课程难度是真的大,一周的时间居然要学一门 Go 语言,然后还要读论文,进而做MapRed ...
- ThinkPHP 5 整合支付宝微信支付(支付宝H5,微信H5、APP支付、公众号支付)
因项目没有PC站所以没有写电脑网站支付. Pay.php支付控制器 <?php // +----------------------------------------------------- ...
- STM32CubeMx配置USART注意的一个问题
HAL_UART_Receive_IT(&huart1, (uint8_t *)aRxBuffer, Number);意思是接收到Number个字节后,触发HAL_UART_RxCpltCal ...