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

这个作业要求在哪里http://t.csdn.cn/ULQVf
我在这个课程的目标是可以熟练掌握一些常见的字符串处理的函数 ,正确使用并读懂数组
这个作业在那个具体方面帮助我实现目标理解数组变量在内存中的存放形式,数组元素的引用,二维数组的理解,字符串与字符数组的区别
参考文献《C语言程序设计教程(第3版)》、百度

1.PTA实验作业

1.1找出矩阵中最小值所在的位置

将1个m x n的矩阵存入1个m x n的二维数组中,找出最小值以及它的行下标和列下标,并输出该矩阵。

1.1.1数据处理

1.数据表达
定义了m,n两个整型变量来表示行列长度,定义i,j两个整型变量为循环控制变量,定义mini,minj两个整型表示最小值在矩阵中所处的行列位置下标,用for循环结构进行矩阵行列的循环,镶嵌if选择结构来判断最小值。
2.数据处理

在这里插入图片描述

1.1.2实验代码截图

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

1.1.3造测试数据
输入数据输出数据
3 25 6
5 69 7
9 73 8
3 8min = a[2][0] = 3
2 39 5 6
5 6 97 3 8
7 3 8min = a[1][1] = 3
3 35 6 7
5 6 79 3 2
9 3 21 4 8
1 4 8min = a[2][0] = 1
1.1.4PTA提交列表及说明

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

提交列表说明:
1.编译错误:输出函数结束忘记分号,大括号匹配不正确,仔细对比后改正
2.答案错误:输出格式错误,最小值的行下标、列下标输出格式没注意规范,查阅《C语言程序设计1》改正
3.答案错误:输出格式错误,矩阵未成形,查阅百度后改正
4.答案错误:在行列循环输出时的空格换行符间断了行列的输出位置,经请教朋友后调整改正规范

1.2 短号

在某年的校程序设计竞赛中,报名参赛的同学很多都只留了短号,这让通知获奖同学来取获奖证书的H老师很是困扰,因为他没有短号!痛定思痛,H老师也要办短号了。这里约定短号为手机号码的最后六位,但如果取出的最后六位是以0开头的,要改为以9开头。现给出H老师手机号码,请确定他的短号。

1.2.1 数据处理

1.数据表达
定义整型 i 为循环控制变量,整型n表示有几个数据,for循环结构与If选择结构镶嵌,其中scanf函数在输入字符串时要使用%s格式控制符,并且定义了有100个数组元素的char数组t。
2.数据处理

在这里插入图片描述

1.2.2 实验代码截图

在这里插入图片描述

1.2.3 造测试数据
输入数据输出数据
213110023456 923456
1311002345613111123456 123456
13111123456
215200772513 772513
1520077251315200092513 992513
15200092513
218867212596 212596
1886721259618867202596 202596
18867202596
213452698431 698431
1345269843113452697431 697431
13452697431
1.2.4 PTA提交列表及说明

在这里插入图片描述

在这里插入图片描述

提交列表说明:
1.编译错误:手机号码未定义成字符型,定义为int整型,并且输入函数在输入字符串时未使用%s格式控制符,查阅《C语言程序设计1》后改正
2.答案错误:关于”取出的最后六位以0开头“,数组t的第五位元素t[5]与0比较时未使用关系运算符== ,而是直接使用的等号=,输出的答案出现错误,请教朋友帮忙后改正
3.答案错误:输入 t 时,没有打 “ 取地址运算符 & ",多次浏览代码后改正
4.答案错误:关于“最后六位是以0开头的,要改为以9开头”的0和9,未打上单引号 ’ ‘,导致答案错误,一直没发现,请教朋友后才改正过来

2.代码互评

(1) 同学代码截图

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

自己代码截图

在这里插入图片描述
在这里插入图片描述
不同点:
1.舒同学和自己关于最小值的行下标、列下标的定义变量不一样,m与n表示的行列相反,唐同学定义的变量也不一样
2.唐同学在输出矩阵的时候是选择在printf里面之间通过空格来空出空间,舒同学在输出矩阵的时候之间统一是%4d,而自己是矩阵每列前将%4,%5d 分开了
3.舒同学没有对最小值的行下标、列下标进行赋初值,自己对其二进行了初始化为0
4.舒同学和自己关于前大括号的排列习惯不同,舒同学代码换行的版面比自己的更加美观和清晰
5.唐同学对于题目补充判断输入的值是否为最小值,是返回1,否返回0,舒同学和自己没有做相关的代码处理

(2)同学代码截图

在这里插入图片描述

自己代码截图

在这里插入图片描述
不同点:
1.舒同学与自己定义关于char数组t的数组长度不一样
2.自己在for循环开始处 判断了输入的数是否为0,而舒同学没有
3.舒同学将短号输出的结果直接输出在for循环里,自己因为判断了输入的数是否为0,导致将短号的输出先放在了if选择结构条件成立的内部

3.学习总结

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

在这里插入图片描述

3.3 学习内容总结和感悟
3.3.1 学习内容总结

在这里插入图片描述

3.3.2 学习体会

1.这周的数组相关学习感觉心态进步一下,仍处于模仿状态,空余时间多刷题,多学习一下优秀的代码
2.设计性代码编译不能够灵活处理,自主分析的能力有待提高,也有在和身边的会做的朋友请教
3.作业工作量挺重的,容易内耗,有主动找一些可以解决问题的途径,和从头开始看一些小白的课程
4.时间很快,已经进入第十一周了,希望早日适应,“现在恐惧是因为无知”
5.对选择/循环结构,数组等规则概念有所印象,但是代码分析和编译程序的缺陷还是很大,执行能力较差

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

通信三班姚元敏202201120341

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

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

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

打赏作者

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

抵扣说明:

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

余额充值