C语言I博客作业07

这个作业属于那个课程 C语言程序设计II
这个作业属于哪个课程 班级的链接
这个作业要求在哪里 作业的要求
我在这个课程的目标是 继续学习string.h,自定义函数。学习指针,使用fgets
这个作业在那个具体方面帮助我实现目标 学会使用while和do-while,熟练使用循环语句,学会优化自己的代码,拓宽知识面
参考文献 c语言程序设计(第三版)
学号 20208927
1.PTA实验作业

1.1 矩阵运算
题目内容描述:给定一个n×n的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。
输入第一行给出正整数n(1<n≤10);随后n行,每行给出n个整数,其间以空格分隔。
输出格式:在一行中给出该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。
1.1.1数据处理

数据表达:定义变量n(为题要求输入),定义sum为依题输出的所有元素和,定义二维数组a[10][10],且定义i为行,j为列。均为整型。
数据处理:(伪代码如下)
定义变量sum=0;
for循环输入矩阵数据,
for(i=0;i<n;i++)
for(j=0;j<n;j++)
再for循环遍历数组进行运算,除去最后一列和最后一行,
for(i=0;i<n-1;i++)
for(j=0;j<n-1;j++)
数学逻辑,在副对角线上的数满足表达式i+j=n-1
由if判断,使副对角线上的数为0,
sum=sum+a[i][j],
输出sum。

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
35 正确

1.1.4 PTA提交列表及说明

1.编译错误:在for循环输入矩阵数据时,在内部定义i,j,而在for循环遍历数组时没有。所以第二次的i,j是没有定义的变量。以后要养成习惯,把变量放在前面,做为全局变量。
2.答案错误:数学逻辑错误。
3.部分正确:原来的代码:for(i=0;i<=n;i++) for(j=0;j<=n;j++);这样输入的是5行5列,只有测试点最小n时成立。

1.2 找最长的字符串
题目内容描述:本题要求编写程序,针对输入的N个字符串,输出其中最长的字符串。
输入格式:输入第一行给出正整数N;随后N行,每行给出一个长度小于80的非空字符串,其中不会出现换行符,空格,制表符。
输出格式:在一行中用以下格式输出最长的字符串:
The longest is: 最长的字符串
如果字符串的长度相同,则输出先输入的字符串。
1.2.1 数据处理

数据表达:定义n(为输入的字符串),i(完成遍历的变量),,为整型变量。定义字符型数组a[max],b[max],max为宏定义。
数据处理:(伪代码如下)
使用string.h为头文件,
fgets标准输入a数组中的前81位字符,strcpy(b, a)
将字符串a复制给b,
for循环遍历,判断字符串的长度,
fgets(a,max,stdin);
使用strlen,返回字符串的长度进行比较
若a>b,则将a复制给b,最后输出b为最长字符串。

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
The longest is: zhang
1.2.4 PTA提交列表及说明
1.答案错误:第二次的fgets,使用的是标准输出。
2.编译错误:错误代码fgets(a;max;stdin),fgets使用错误。

2.代码互评(5分)
找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。

同学代码截图

自己代码截图

对比:第一个使用的自定义函数,我觉得很好,但是我无法判断谁的用时更短。
第二个的话就比我的好,他的定义变量数,比我更少。

3.学习总结(15分)
3.1 学习进度条(5分)

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
11.30-12.4 24小时 400 排序,指针 string.h
11.23-11.26 22小时 600 string.h gets,puts
11.15-11.21 22小时 500 string.h,接触基础c++ vs和Dev的快捷键不会使用,string
11.10-11.14 26小时 300 自定义函数,二维数组,宏定义,const 不会用复杂的宏定义和const
11.2-11.8 26小时 600 循环嵌套,一维数组,二维数组 如何把问题简单化,灵活调用循环和函数
10.26-11.1 24小时 500 循环嵌套,选择排序,冒泡排序 排序很蒙,逆时针坍缩不懂
10.19-10.25 24小时 200 switch-case,循环
3.2 累积代码行和博客字数(5分)
时间 博客字数 代码行数
---- ---- ----
第八周 1052 200
第九周 1677 500
第十周 3252 600
第十一周 5186 300
第十二周 6824 500
第十三周 8347 600
第十四周 9995 400

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

3.3.2 学习体会
第一次作业制定的规划感觉白制定了,英语落下了许多,我认为我应该合理运用暗时间,在排序和英语上花更多的时间。我觉得我的时间应该分配得更加合理些,任务按时完成的情况下完成班级事务的处理,也是一种劳逸结合。

posted @ 2020-12-04 16:17  陈谦益  阅读(440)  评论(13编辑  收藏  举报