【无标题】

C语言程序设计博客作业02

我在这个课程的目标是<能够自己动手编写程序>
这个作业在那个具体方面帮助我实现目标<帮我进一步理解了for循环>
参考文献<C语言程序设计教材>

1.PTA实验作业

在这里插入图片描述

1.1利用数组计算斐波那契数列

本题要求编写程序,利用数组计算菲波那契(Fibonacci)数列的前N项,每行输出5个,题目保证计算结果在长整型范围内。Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列,例如::1,1,2,3,5,8,13,…。

1.1.1数据处理

数据表达:这里我定义了N,i,fib[i]三个变量,类型是整形首先给N赋值,如果(N < 1 || N > 46)则输出Invalid,如果(1<N<46)则使用for循环令i=2且自增再写出fib[i] = fib[i-1] + fib[i-2]的表达式来计算fib[i]再令fib中的i自增来依次计算(1<N<46)中的fib[i],最后输出格式每个数占11位,每行输出5个。如果最后一行输出的个数不到5个,也需要换行。
数据处理
在这里插入图片描述

1.1.2实验代码截图

在这里插入图片描述

1.1.3造测试数据
输入数据输出数据
41,1,2,3
31,1,2
61,1,2,3,5,8
0Invalid

经过多种测试代码运行都是正确的

1.1.4PTA提交列表及说明

在这里插入图片描述
在这里插入图片描述
提交列表说明:
编译错误:不懂每个数占11位,每行输出5个怎样用代码表示,而是直接打出五个空格后就提交
编译错误(2):没看清出题目给出的条件,如果最后一行输出的个数不到5个,也需要换行,且当时没有让fib[i]中的i进行自增。
解决方法:
(1):第一次问了室友怎样用代码输出每个数占11位,每行输出5个。
(2):第二次反复检查了代码最后发现没有用for循环来对fib中的i进行自增,最后换行也是和室友讨论得出

1.2查找满足条件的所有整数

本题要求编写程序,将输入的n个整数存入数组a中,然后在数组a中查找给定的x。如果数组a中的元素与x的值相同,输出所有满足条件的元素的下标(下标从0开始);如果没有找到,输出“Not Found”。

1.2.1数据处理

数据表达:
该题中我用到了n,x,c,i,a[i]这五个变量。n和x的值都由输入产生,类型是整型,运用循环将值输入给数组a,类型是整型,定义c=0来作为查找出满足条件的一个参照,类型是整型;
数据处理:
在这里插入图片描述

1.2.2实验代码截图

在这里插入图片描述

1.2.3造测试数据
输入数据输出数据
4.7.7.4.1.80
6.6.4.1.6.6.2.02.3
8.1.6.2.3.0.4.5.9.7Not found

经过多组测试,代码运行出的结果都是正确的。

1.2.4提交列表说明

在这里插入图片描述
在这里插入图片描述
提交列表说明:
编译错误:没有定义c,没有给一个准确的参照物来判断所查找的数据是否符合要求
解决方法:去网上百度了一下,看看别人是怎样写代码的,最后发现自己缺少一个参照数据

代码互评
同学代码截图

在这里插入图片描述

自己代码截图

在这里插入图片描述

代码分析

谢金辉同学定义的是a[50],而我定义的是fib[100],从这方面看谢金辉同学的更加简便与精确,谢金辉同学是先把正确的情况放在第一位输出,而我确实把错误的情况放在第一位输出,从整个代码来看,谢金辉同学的定义变量的时候更加的简单化,但却不如我准确。

同学代码截图

在这里插入图片描述

自己代码截图

在这里插入图片描述

代码互评

从这两幅图中看以看出,伍靓同学比我学的更深,更精。我一直都搞不懂这个flag=1和flag=0怎么用,而且伍靓同学用了嵌套的方式,而我只有简单的if和for。我运用选择结构if在x等于数组a中的某个或某些元素时直接输出其元素下标,并令c自增1,因而当c等于0时就可输出“Not Found”。伍靓同学则是先当数组a中的某个或某些元素等于x时,令flag等于1,再运用一个选择结构,flag等于1时则输出下标,其他情况则输出“Not Found”。

3.学习总结
3.1学习进度条

在这里插入图片描述

3.2累计代码行数和博客字数

在这里插入图片描述

3.3学习内容总结和感悟
3.3.1

在这里插入图片描述

3.3.2学习体会

开学以来的编程让我苦不堪言,我总是不理解很多东西,每个都只会一点点,想自己写代码却发现自己不会,不写又会觉得自己应该会,写了之后基本都是错的,连错误都找不出来,我连普通的代码都看不懂,也不理解为什么要这样写,但我还是想尽自己所能吧,尤其在数组方面,我感觉自己是个小白中的小白,什么都不会,循环结构也搞不明白,它总是能把我绕晕。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值