C语言博客作业—一二维数组
一、PTA实验作业
题目1:7-2 求整数序列中出现次数最多的数
1. 本题PTA提交列表
2. 设计思路
Begin
输入整数个数N
定义数组a[N]
输入数组a
for(i 0 to N-1){//进行N次判断
for(j 0 to N-1)
if(a[i]和a[j]相等)
count加一
i等于0//第一次判断
使max=count; n=i;//n放下标,max放次数
i不等于0且count大于max
使max=count; n=i;//重新赋值
count为0//每次循环count为0
}
输出a[n],max
End
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
- 测试点
- 错误代码
第一次写的思路比价麻烦,设了两个数组
题目2:7-7 找鞍点
1. 本题PTA提交列表
2. 设计思路
Begin
输入数组a[i][j]
row=col=0;//找行最大的数
for(i 0 to n-1)
for(j 0 to n-1)
if(a[i][j]大于等于a[i][col])
row=i;col=j;//存放最大数的行列
if(j==n-1)
b[i]存放最大数,f[i]存放最大数所在列
col=0;//归0
同上面的方法,找列最小的数
for(i 0 to n-1)
for(j 0 to n-1)
if(b[i]和d[j]相等) {//判断最小数和最大数是否存在相等
输出所在的行列数
flag=1;}//flag作是否有的标志
if(flag为0)则没有
End
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
因为我的方法变量名很多,所以只能静下心来举例来一步步的改
题目3:7-8 加法口诀表
1. 本题PTA提交列表
2. 设计思路
Begin
输入repeat
for(i 1 to repeat)//作repeat次运算
输入数组长度n并定义a[n+1]
for(i 1 to n)//第一行第一列为1
a[0][i]=i;
a[i][0]=i;
for(i 1 to n){//计算每一行的数
for(j 1 to n)
a[i][j]=a[0][j]+a[i][0];
第一行先输出‘+’再输出1
最后一个数没有空格且换行
下面的行输出同第一行
End
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
没有注意最后一个数没有空格
二、截图本周题目集的PTA最后排名。
三、同学代码结对互评
1.互评同学名称
- 黄光奎
2.我的代码、互评同学代码截图
- 黄同学的代码
- 我的代码
3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
- 在定义数组上我是先输入n,再定义数组;而黄同学是直接定义a[10][10]。
输入第一行第一列时,我是一起循环,黄同学是分开。
输出我是分第一行和其他行,黄同学是分第一行第一列和余下的下三角。 - 觉得各有千秋吧
四、本周学习总结
1.你学会了什么?
1.1 C中如何存储字符串?
- 存放在一维字符数组中
1.2 字符串的结束标志是什么,为什么要结束标志?
- ‘\0’ 对字符串进行操作时可以结束
1.3 字符串输入有哪几种方法?
- while((a[i]=getchar())!='\n')
i++;
a[i]='\0'; - sacnf("%s",a);
- gets(a);
1.4 数字字符怎么转整数,写个伪代码?
输入数字字符
输出数字字符-‘0’
1.5 16进制、二进制字符串如何转10进制?写伪代码?
- 十六进制
十六进制数组a[n]
for(i=0;a[i]不为‘\0’;i加一)
若字符为数字
n=n*16+a[i]-'0'
若字符为小写字母
n=n*16+a[i]-‘a’+10
若字符为大写字母
n=n*16+a[i]-‘A’+10
输出n
- 二进制
二进制数组a[n]
for(i=0;a[i]不为‘\0’;i加一)
n=n*2+a[i]-'0'
输出n
2.本周的内容,你还不会什么?
- 1.二分查找法还不是很懂
- 2.直接插入排序也还不是很懂
- 3.pta7-9 判断上三角矩阵这个题输入输出应该跟题目的例子一样,但是答案错误
3.期中考试小结
3.1 你认为为什么没考好?
- 对于基础知识点有的遗忘,有的生疏
- 读程序的能力欠缺
- 短时间内对一个编程题没有很好的思路
3.2 罗列错题。
这两个题是考同一个知识点,从相反的方向出题,静态局部变量的作用范围是定义该变量的源文件范围内,生存周期是从调用到程序结束。
一开始没有看懂term那个表达式是怎么计算的,思路就断了。
3.3 下半学期要怎么调整C的学习?
- 课堂派:认真做好预习作业,对于错题要认真分析,把错题弄懂
- PTA:尽自己的能力多做题,提高效率,不做无用功
- 博客园:对于每周的学习认真分析,总结得失,制定小目标
- 课堂:认真听老师的例题讲述,尽可能弄懂知识点,打好基础,互动自己独立思考
- 上机考试:提前备考,把必考代码弄懂,在考试中不紧张,把题目题意弄懂,缕清思路,再打代码