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函数作业的更多相关文章

  1. 网络1712--c语言函数作业总结

    作业亮点 1.总体情况 很多同学在思路方面大部分写的都很详细,能够通过思路回顾自己的代码 大部分同学都认真完成PTA,也充分利用了函数来解题 大部分同学能够从上机考试中总结自己的失误和不足点,制订了自 ...

  2. c语言函数作业

    一.PTA实验作业 6-3 使用函数判断完全平方数 1. 本题PTA提交列表 2. 设计思路 1.利用由题目给定的int IsSquare( int n )进行操作 2.首先判断n是否大于0. 3.若 ...

  3. 一、PTA实验作业

    一.PTA实验作业 1.题目1: 6-2 线性表元素的区间删除 2. 设计思路 定义i,j; 判断L,minD,maxD; while(i<l->Last) { 判断所有满足条件的数,de ...

  4. pta指针作业

    #PTA实验作业 6-1 本题pta提交列表 设计思路 本题是一道简单的指针程序题,两个数已经分别被指针定义,只要把用其指针把二者加在一起和减去即可 调试过程 本题无调试过程 代码截图 6-2  1. ...

  5. PTA实验作业-01

    一.PTA实验作业 本周要求挑3道题目写设计思路.调试过程.设计思路用伪代码描述.题目选做要求: 顺序表选择一题(6-2,6-3,7-1选一题),代码必须用顺序结构抽象数据类型封装 单链表选择一题(6 ...

  6. 网络1711c语言函数作业总结

    作业地址:https://edu.cnblogs.com/campus/jmu/JMUC--NE17111712/homework/1335 总结 1.评分细则 评分注意事项 代码规范问题依旧要重视, ...

  7. Python之函数作业

    Python之函数作业 爬页面 #爬虫页面,send一次爬一次 from urllib.request import urlopen def get(): while True: url = yiel ...

  8. 一·PTA实验作业

    本周要求挑选3道题目写设计思路,调试过程.设计思路用伪代码描述.题目选做要求: 顺序表选择一题(6-2,6-3,7-1选一题) 单链表选择一题(6-1不能选) 有序表选择一题 一.题目 6-3 jmu ...

  9. PTA第一次作业和第二次作业

    PTA的第一次作业第一题: #include <stdio.h> int main (void) { int grade,i,N ,a=0,b=0,c=0,d=0,e=0; printf( ...

随机推荐

  1. 一站式学习Redis 从入门到高可用分布式实践(慕课)第六章 Redis开发运维常见问题

    fork操作 1.同步操作 2.与内存量息息相关:内存越大,耗时越长(与机器类型有关) 3.info:latest_fork_usec 进程外开销 AOF追加阻塞 不知道哪个命令??? 单机多实例部署 ...

  2. 开发的服务集群部署方案,以etcd为基础(java)

    当前有很多服务集群部署,但是对于我们自己开发的服务系统怎么样能够解决部署问题,对大家很麻烦和笨重. 首先,我想说对于我们国内,小公司小系统比较多.大型系统毕竟少数,向阿里云看齐的不多.其实所谓的需要集 ...

  3. LeetCode 简单 - 最大子序和(53)

    采用动态规划方法O(n) 设sum[i]为以第i个元素结尾且和最大的连续子数组.假设对于元素i,所有以它前面的元素结尾的子数组的长度都已经求得,那么以第i个元素结尾且和最大的连续子数组实际上,要么是以 ...

  4. Percona-Tookit工具包之pt-table-checksum

      Preface       The master-slave replication is commonly used in our product evironment.On account o ...

  5. Git----将本地代码推送到远程仓库

    1.初始化本地 git init 2.添加文件 -A等于 -. 和-a的集合 git add -A 3.提交 git commit -m 'add' 4.关联到远程库 git remote add o ...

  6. 嵌入式框架Zorb Framework搭建六:定时器的实现

    我是卓波,我是一名嵌入式工程师,我万万没想到我会在这里跟大家吹牛皮. 嵌入式框架Zorb Framework搭建过程 嵌入式框架Zorb Framework搭建一:嵌入式环境搭建.调试输出和建立时间系 ...

  7. java元注解(注解在注解上的注解)

    //ElementType.TYPE 给类.接口.枚举上使用 @Target(ElementType.TYPE)//给注解进行注解,表示该注解可以用在什么地方 //@Retention(Retenti ...

  8. Spring中的设计模式--观察者模式

    spring在容器中使用了观察者模式: 一.spring事件:ApplicationEvent,该抽象类继承了EventObject类,jdk建议所有的事件都应该继承自EventObject. 二.s ...

  9. PHP.42-TP框架商城应用实例-后台17-商品属性3-商品分类的修改与删除

    商品分类的修改 1.改表单Goods/edit.html,加下拉框 2.因为商品属性修改涉及商品属性表goods_attr{id,attr_value,attr_id,goods_id}与属性表att ...

  10. 隐藏WPF ToolBar 左侧的移动虚线和右侧的小箭头

    原文:隐藏WPF ToolBar 左侧的移动虚线和右侧的小箭头   上面的图是两个工具栏的链接处.   去除蓝色部分的方法是 设置工具栏的ToolBarTray.IsLocked附加选项为True   ...