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. @font-face css3自定义个性化字体

    使用第三方平台转换字体文件为font-face所支持的格式. TureTpe(.ttf)格式 支持浏览器:IE9+,Firefox3.5+,Chrome4+,Safari3+,Opera10+,iOS ...

  2. Ajax 跨域的几种解决方案

    作者:黄轩链接:http://www.zhihu.com/question/19618769/answer/38934786来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处 ...

  3. vue项目中使用vuex

    1.运行 cnpm i vuex -S 2.导入包 import Vuex from 'vuex' 3.注册vuex到vue中 Vue.use(vuex) 4. var store = new Vue ...

  4. string类中字符的大小写转换

    今天做一道题,要用string类,涉及大小写转换,查看了C++文档,string类没有提供这样的方法,只好自己写. 之后是想到一个比较笨的方法,我把string当成一个容器,然后用迭代器一个一个来替换 ...

  5. LintCode 7.Serialize and Deserialize Binary Tree(含测试代码)

    题目描述 设计一个算法,并编写代码来序列化和反序列化二叉树.将树写入一个文件被称为“序列化”,读取文件后重建同样的二叉树被称为“反序列化”. 如何反序列化或序列化二叉树是没有限制的,你只需要确保可以将 ...

  6. Linux给当前用户指定目录授权命令

    使用命令: chown -R user:user ./local 说明:user 为当前用户: 完毕!

  7. hibernate的CRUD操作

    一对多关系映射的crud操作: 1.单项的保存操作 /** * 保存操作 * 正常的保存:创建一个联系人,需要关联客户 */ @Test public void test1(){ Session s= ...

  8. js函数的节流和防抖

    js函数的节流和防抖 用户浏览页面时会不可避免的触发一些高频度触发事件(例如页面 scroll ,屏幕 resize,监听用户输入等),这些事件会频繁触发浏览器的重拍(reflow)和重绘(repai ...

  9. Asp.NET Core 在IIS部署 An assembly specified in the application dependencies manifest was not found

    今天在发布应用的时候,出来了一个报错:An assembly specified in the application dependencies manifest was not found 情况如下 ...

  10. linux的date常用命令

    1.显示现在时间 date 2.显示今天日期 date +"%F" date +"%Y-%m-%d" 3.现在时间转化为时间戳 date +%s 4.指定某日期 ...