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

这个作业要求在哪里http://t.csdn.cn/XWRlO
我在这个课程的目标是正确使用结构,掌握结构数组和结构指针的基本操作
这个作业在那个具体方面帮助我实现目标结构的相关理论知识,结构数组和结构指针的易错点及解决办法
参考文献《C语言程序设计教程》、百度

1.PTA实验作业

在这里插入图片描述

1.1节约有理

小明准备考研,要买一些书,虽然每个书店都有他想买的所有图书,但不同书店的不同书籍打的折扣可能各不相同,因此价格也可能各不相同。因为资金所限,小明想知道不同书店价格最便宜的图书各有多少本,以便节约资金。

1.1.1 数据处理

1.数据表达
定义了局部控制变量整型变量i、j,结构体内定义图书名为字符型数组,价格为双精度浮点型数组,将每家店有多少种最低价格的书定义为整型变量cnt。自定义函数首先外循环使用for循环结构将每种书价格在不同店之间比较大小,计算cnt。定义处先用k数组暂时来记录最低店铺的下标,进行赋初值,默认第一家店为最低。使用if选择结构找到最低价格。内循环处的k数组里面记录的是最低价格店铺的下标。再并列一个外循环,根据cnt大小降序排序整个shop数组,内部再次运用选择结构和循环结构的嵌套,当cnt相等时,根据店铺名称ASCII码升序排序。使用主函数,利用while结构运行t组数据,for循环先将cnt默认为0,多组for循环结构镶嵌,后运行条件为第m家店的第n本书价格,最后引用上述的自定义函数结构中。
2.数据处理
在这里插入图片描述

1.1.2 实验代码截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.1.3 造测试数据
输入数据输出数据
3xinhuashop 2
3 3kehaishop 1
xiwangshop kehaishopxiwangshop 1
xinhuashopxhsd 3
11.1 22.2 33.3hytss 2
11.2 22.2 33.2xxsw 2
10.9 22.3 33.1khsd 1
5 5xwsd 0
xwsd khsd xhsd xxsw hytssxhsd 3
1 2 3 4 5xxsw 2
1.2 2.1 2.7 4.1 4.8khsd 1
0.8 1.9 3.1 3.8 5.2xwsd 0
0.9 1.95 2.65 3.8 5.1、
0.9 1.95 2.65 3.8 5.1
4 5
xwsd khsd xhsd xxsw
1 2 3 4 5
1.2 2.1 2.7 4.1 4.8
0.8 1.9 3.1 3.8 5.2
0.9 1.95 2.65 3.8 5.1
1.1.4 PTA提交列表及说明

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
提交列表说明:
1.编译错误:结构体内部定义数组的长度过小,导致赋值长度越界,询问专业前辈后将数组长度调到对题目适宜范围
2.编译错误:主函数内多组循环结构的镶嵌混乱,自己百度查找了部分循环嵌套的资料后并在同学的帮助下,一一改正
3.编译错误:自定义函数的内部存在逻辑错误并k数组内某处存在常量表达式不当,几天自己百度查阅了其他相关题目的解题方法,在专业前辈的帮助下再次手写罗列题目与自己代码的逻辑,通过他人帮助后将代码编译依题改正至正确

1.2结构体数组实现工资数据的存放与输出

用结构体存放下表中的数据,然后输出每人的姓名和实发工资(基本工资+浮动工资-支出)
在这里插入图片描述

1.2.1 数据处理

1.数据表达
结构体定义基本工资、浮动工资和支出为双精度浮点型变量,并将姓名定义为字符型数组。主函数定义了实发工资为双精度浮点型。运用for循环进行实发工资的相关计算,并进行输入、输出。
2.数据处理
在这里插入图片描述

1.2.2 实验代码截图

在这里插入图片描述

1.2.3 造测试数据
输入数据输出数据
赵 240 400 75赵 565.00
钱 360 120 50钱 430.00
孙 560 0 80孙 480.00
1.2.4 PTA提交列表及说明

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
提交列表说明:
1.编译错误:结构体结束后的分号没有编译,自己翻阅《C语言程序设计教程》后添加上去
2.编译错误:for循环结构内关于图书名、基本工资、浮动工资、支出的表达编译错误,询问同学后将相关代码改为“ s[i]. ”加上其他,运行正常
3.答案错误:for循环结构的条件处条件表达式为“i<n",导致输出正确结果后总存在”0.00“的循环后缀,自己根据整个代码一一与题目条件对应后,尝试将其改为”i<3",答案修改正确

2.代码互评

(1)同学的截图

在这里插入图片描述
在这里插入图片描述

自己的截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.王同学在主函数处定义了多个数组,且存储各个书籍提供的最低价格书目的数量也有定义为整型的amount数组,自己在主函数仅存在t组数据,二者因代码而异,但王同学的编译思路值得自己去学习
2.王同学和自己均在主函数内存在while和for循环的嵌套,但王同学的全部运算都在主函数中,循环结构之间编译的很繁琐,自己将主函数的一部分运算转入自定义函数中,自己的代码整体布局更有层次,但自定义函数内更复杂,不如王同学相关一维数组、二维数组运用得当,需要学习
3.王同学在循环结构与选择结构的嵌套中运行的相对复杂,外循环、内循环步骤较多,自己在自定义函数内部更加嵌套的少一些,步骤有所简化
4.二者一些编译细节因代码而异,但是王同学的编译条理值得自己参考和尝试

(2)同学的截图

在这里插入图片描述

自己的截图

在这里插入图片描述
1.曾同学将“基本工资+浮动工资-支出”在输出函数处计算,自己将三者的计算关系在循环结构处体现,自己的更严谨,曾同学的整体框架更简洁,计算的摆放位置自己没有尝试过,值得去学习
2.曾同学直接将实发工资定义为单精度浮点型的数组,自己将"基本工资“、“浮动工资”、“支出”进行了单独的定义,为双精度浮点型变量,二者总体思路一样,因代码而异
3.曾同学在函数体处存在“struct man s[n]"引用,自己则没有,曾同学的解题值得借鉴
4.自己在函数体处将实发工资单独定义为双精度浮点型变量,曾同学则没有,自己在输出函数处更简洁,但是总体操作也更繁琐

3.学习总结(15分)

3.1 学习进度条(5分)
周/日期这周所花的时间代码行学到的知识点简历目前比较困惑的问题
第一周14h75计算机系统组成及工作原理,进位转换,机器数进位计数制的转换不熟练
第二周10h169基本数据类型,运算符与表达式,基本输入输出优先级顺序反应较迟钝
第三周18h150选择结构程序设计(if 、switch语句)else容易匹配混乱
第四周16h164循环结构程序设计(while、do-while、for语句),循环嵌套循环嵌套在编译中没有熟练掌握
第五周20h188一维数组在使用memset函数、memcpy函数来赋值没有理解
第六周18h225二维数组,字符串与数组给数组变量赋值,数组综合应用不会
第七周12h120函数的定义与调用,变量的作用域和生存期函数调用的数据类型不兼容,函数内部定义函数容易嵌套
第八周20h240指针变量,指针与数组,指针与字符串,指针与动态内存分配,多级指针无法熟练掌握指针的正确使用,例如容易造成数组越界操作等
第九周14h302复杂数据类型结构数组、结构指针设计性编译没有掌握
3.2 累积代码行和博客字数(5分)

在这里插入图片描述

3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结

在这里插入图片描述

3.3.2 学习体会

1.在这周的网课中,自己关于结构体相关学习理论内容还行,但对于老师未讲解完 需自学的部分掌握程度不高,需要多去正确解读代码,多动手敲出来
2.设计性代码编译不能够灵活处理,自主分析的能力差,多自己掌握基本功,可以和身边的会做的朋友请教
3.本学期课程进入尾声,多科作业任务量加重,要合理协调时间并执行
4.一定要自己动手敲代码,不然一直学不会,允许碰壁
5.关于一些自己遇到的问题一定要自己主动的去思考、查询,然后再寻求他人帮助
6.可以查询其他人分享的题目,但是自己一定要像解读自己遇到的题去尽量读懂每一个代码步骤,加深印象

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

通信三班姚元敏202201120341

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值