一.PTA实验作业

题目1: 6-6 使用函数输出水仙花数

1.本题PTA提交列表

2.设计思路

1.narcissistic函数

  • 1.由于number的值后面会变化,所以定义d,e用于储存number,以方便后来的计算和比较
    定义count和f用于储存number的位数,c用于储存number的个位数,i为循环变量,b储存每个个位数
    的count次方,sum储存b的和
  • 2.用while循环语句,令number=number/10,每次少一位数,count+=1,直到number=0时得到它的位数count
  • 3.由于题目没有调用函数,所以次方的运算通过循环进行
  • 4.用for循环语句”for(i=1;i<=count;i++)“,即会做count次循环,即count次方
  • 5.令f=count
  • 6.c=e%10得到number的个位数
  • 7.e=e/10使得number少了一位数,即少了6得到的个位数
  • 8.如果f>0,则b=b*c,f-1
  • 9.直到f=0,结束循环,得到此时个位数c的count次方
  • 10.sum=sum+b,b=1,重复运算,直到e=0
  • 11.如果sum=b,则返回1,否则返回0

2. PrintN函数

  • 1.调用.narcissistic函数
  • 2.令m=m+1 ,if ( narcissistic(m) ) ,输出m
  • 3.m+1
  • 4.重复想法2直到m=n

3.本题调试过程中碰到的问题以及解决方案

(1)

  • 错误:没有循环得到count
  • 解决:改为while语句

(2)

  • 错误:dev调试2,b没有初始化赋值为1,导致后面的乘法结果都得到0
  • 解决方案:b初始化赋值为1;

(3)

  • 错误:发现b的值没有累加,于是多了个sum+=b,然而没有什么用
  • 解决方案:新定义了sum,用于储存b

(4)

  • 错误:发现把sum放在了循环内,但是还是没有输出
  • 解决方案:把sum放在循环外

(5)

  • 错误:b在进行新一轮乘积时还保留着上一轮的值
  • 解决方案:在循环后将b赋值为1

(5)

  • 终于对了,但这只是第一个函数

(6)

  • 错误:果然,题目显示编译错误
  • 解决方案:提交内容不包括题目所给代码

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

1.本题PTA实验结果展示

2.设计思路

  • 一,factorsum函数
  • 第一步:定义变量c,sum=0
  • 第二步:如果number=1,就返回1(特殊值特殊处理)
  • 第三步:c=1
  • 第四步:如果number%c=0(即c是number的因子)
  • 第五步:sum+=c
  • 第四步:return sum
  • 二,PrintPN函数
  • 第一步:定义g,i,j,a
  • 第二步:g=m
  • 第三步:调用factorsum函数,如果factorsum(g) == g进行步骤四五
  • 第四步:a=1(判断是否有函数)
  • 第五步:printf("%d = ",g);
  • 第六步:i=1
  • 第七步:if(i==1),进行步骤八九十
  • 第八步:printf("1");
  • 第九步:如果g%i==0&&i!=1&&i!=g
  • 第十步: printf(" + %d",i);
  • 第十一步:i++,重复步骤六,直到i大于g
  • 第十二步:printf("\n");
  • 第十三步:g++,直到g>n
  • 第十四步:if(a==0) printf("No perfect number");

3.本题调试过程中碰到的问题以及解决方案

(1)

  • 错误:只输出一次

(2)

  • 错误:当g=6时根据题目,是会输出的,但是程序没有继续

  • 解决方案:factorsum函数出了问题,先从它解决

  • 一,dactorsum函数

  • 错误:只输出一个,发现因子的和算了两遍

-解决方法:令只有当前一个因子小于或等于后一个因子时才求和

  • 二,PrintPN函数

  • 错误:没有按大小顺序输出

  • 解决方案:一个因子一个因子输出

  • 三,pta提交

  • 错误:部分正确

  • 解决:增加范围

  • 错误:运行超时,判断完数一个循环就够,两个循环的话,10000数据就要执行10的8次方,在函数内就进行了判断函数

  • 解决:令dactorsum函数只起到取其除自身以外因子的和的作用

7-1 求组合数

1.本题PTA实验结果展示

2.设计思路

  • 第一步:定义m,n,end;
  • 第二步:输入m,n
  • 第三步:调用fact函数,令end=fact(n)/(fact(m)*fact(n-m));
  • 第四步:输出
  • 定义函数fact
  • 第一步:定义pro=1;i
  • 第二步:令i=a,等于自变量
  • 第三步:pro*=i
  • 第四步:i--,重复步骤三,直到i<1
  • 第五步:返回pro

3.本题调试过程中碰到的问题以及解决方案

  • 错误:部分正确

  • 解决方案:全部变量都改为double型

二、同学代码结对互评(1分)

1.同学互评照片。

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

  • 曾文惠
  • 王宵莹

3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
-(1)在计算次方的时候,王宵莹采用了for循环语句,而我使用if里面嵌套一个while语句,

  • 我更喜欢我自己的代码风格,因为我觉得相对于王宵莹的代码进行了两次循环,我的代码更简洁,效率更高。

    三.截图本周题目集的PTA提交列表及最后排名

四、本周学习总结(2分)

1.你学会了什么?

  • 1.1 C语言哪些数据类型?

  • 1.2 字符型数据需要注意地方?
  • (1)每个字符在内存中占一个字节
  • (2)getchar()和putcher()只能处理单个字符的输入和输出
  • (3)%c
  • (4)输入多个字符时,字符间不能有空格

  • 1.3 自增自减运算符?
  • (1)++
  • (2)--
  • 1.4 运算符优先级?

  • 1.5 C语言哪些表达式?课堂派哪里做错,做错的请在这里分析原因?
  • 算数表达式,条件表达式,逗号表达式,赋值表达式,逻辑表达式,关系表达式
  • 原因:对于这些符号的运算先后顺序还不太熟练

  • 1.6 其他内容?

2.本周的内容,你还不会什么?

  • (1)对于一些符号的运算顺序还不太熟练
  • (2)解决问题的能力还是不行,像遇到运算超时时完全不知道错在哪里

3.循环结构考试总结(全部同学都要写)

  • 1.哪题做错了,怎么改?
  • 最后两道题目做错了
  • 要做函数的pta还有数据pta也开放了,所以目前还没有时间去思考怎么改,

  • 2.考试结果满意么,怎么改进?
  • 挺满意的,原本以为自己有挺多难题没解决的,在班级会排倒数,结果竟然及格了,所以还是挺满意的
  • 但是还是不缺乏学霸在我做一半的时候就很潇洒的满分离开,所以同样的老师下,还是自己不够努力

  • 3.其他总结。
  • 及时做好笔记,及时做完作业,效率不高,没法像学霸一小时做几道pta,而是两三小时做一题,所以熬夜也要打代码,日积月累,问题只会越积越多。

转载于:https://www.cnblogs.com/Zeng99/p/7849213.html

C语言第五次作业函数相关推荐

  1. c语言第五章作业,《C语言程序设计》第五章作业.doc

    <C语言程序设计>第五章作业 窗体顶端 <C语言程序设计>第5章作业 布置日期:2012-3-15?????截止日期:2012-3-22 一. 单选题 (每小题6分,共102分 ...

  2. C语言第五次作业--数据类型

    7-2 区位码输入法: 1. 本题PTA提交列表: 2.设计思路: 1.simple定义输入数,character1和character2分别定义低字节和高字节区位码,digit存储取余后的数,sum ...

  3. c语言 将点同时保证x坐标从小到大,y坐标从小到大地排序,C语言第五六次作业.ppt...

    <C语言第五六次作业.ppt>由会员分享,可在线阅读,更多相关<C语言第五六次作业.ppt(40页珍藏版)>请在人人文库网上搜索. 1.C语言作业解析,第四弹,.原来真正变态的 ...

  4. C语言博客作业--函数

    C语言博客作业--函数 一,PTA实验作业 6-2 简单实现x的n次方 1.本题PTA提交列表 2.设计思路 double mypow( double x, int n )函数 (1)定义y=1,i用 ...

  5. c语言字符串怎么退位,C语言第五六次作业.ppt

    C语言作业解析 第四弹 原来真正变态的是这两作业哇 原本是做完第五次作业等大家数分期中考完以后给大家 结果直接出了第六次 就顺便做了 买一送一还包邮哦亲 虽然这两次作业比较难 理解起来困难无比 不过考 ...

  6. 在C语言aceg什么意思,C语言第五六次作业

    <C语言第五六次作业>由会员分享,可在线阅读,更多相关<C语言第五六次作业(40页珍藏版)>请在人人文库网上搜索. 1.C语言作业解析,第四弹,.原来真正变态的是这两作业哇 原 ...

  7. 用函数求C15的值C语言,南开19春学期(1503、1509、1603、1609、1703)《C语言程序设计》在线作业-1辅导资料.docx...

    南开19春学期(1503.1509.1603.1609.1703)<C语言程序设计>在线作业-1辅导资料.docx 南开19春学期(1503.1509.1603.1609.1703)C语言 ...

  8. 从用户的角度看 c语言中函数有两种,【南开大学】20秋学期(1709、1803、1809、1903、1909、2003、2009 )《C语言程序设计》在线作业答卷...

    20秋学期(1709.1803.1809.1903.1909.2003.2009 )<C语言程序设计>在线作业 试卷总分:100  得分:100 一.单选题 (共 40 道试题,共 80 ...

  9. c语言c程序由函数构成 每个函数完成相对独立的功能,17秋学期(1709)《C语言程序设计》在线作业  满分...

    17秋学期(1709)<C语言程序设计>在线作业 需要Q Q 2959415429 微 信  open4511 试卷总分:100  得分:96 一. 单选题 (共 40 道试题,共 80 ...

最新文章

  1. 写了个Python脚本监控nginx进程
  2. DeepMind助力Waymo!提升自动驾驶AI准确率,还能加快模型训练
  3. python怎么导入文本-如何导入其他Python文件?
  4. 什么是 SAP vocabulary-based annotations
  5. mysql查询时间段内的数据
  6. android布局添加布局,Android中添加布局和初始化布局总结
  7. 水经注地图发布服务中间件服务配置功能说明
  8. java 常量定义_java常量的定义
  9. 微信视频聊天怎么美颜?以下方法可以帮到你!
  10. 网页设计作业 酒店公寓网站设计——高级酒店公寓网页(4页) HTML+CSS+JavaScript 旅游主题度假酒店
  11. VR眼镜连接android设备,华为VR眼镜和电脑如何连接 投屏软件PCVR Assistant 2.0使用教程...
  12. Linux后台开发工具箱
  13. 建模大佬都不会外传的角色手办制作流程
  14. 异常报错原因及解决方案
  15. php+mysql实现留言板
  16. 【DDD设计】 Domain model VS DAL Entity VS Presentation DTO
  17. 2022-2028年中国融合通信(UC) 行业市场运行格局及战略咨询研究报告
  18. 著名的C10K并发连接问题
  19. is_infinite() 函数
  20. 解决Deepin系统QQ图片不显示的问题

热门文章

  1. 2022年氧化工艺考试题库模拟考试平台操作
  2. Linux安装JDK详细教程
  3. python 二进制转八进制_python二级题——二进制转八进制
  4. 6、openldap的OLC配置
  5. UML活动图画法详细解析
  6. matlab的许可证文件路径,网络许可证文件 - MATLAB Simulink - MathWorks 中国
  7. 客户端性能测试——WeTest工具的使用
  8. 关于网络知识的50个问答题,你能答对几个?
  9. cmdkey的方式修改windows凭据
  10. javaweb之MVC购物车(加入购物车,订单,订单详情)