C语言博客作业--一二维数组
一丶PTA实验作业
题目1:数组循环左移
(1).PTA提交列表
(2). 设计思路
定义整型变量 n,i,m;
输入n
定义数组a【n】,b【n】;
输入m
for 1 to n-1
输入数组a【n】
如果n>m{
第七步:for 0 to n-m-1
b[i]=a[i-n+m]
for 0 to n-1
如果i<n-1
输出b【i】+空格
否则输出b【i】}
否则 m=m-n直到n<=m
重复第七步
(3).代码截图
(4).本题调试过程碰到问题及PTA提交列表情况说明
想的太简单,没有想到移动次数可能大于数组的长度,提交完后pta提示了才进行修改,对题目解析的还不够透彻
题目2:找鞍点
(1).PTA提交列表
(2). 设计思路
定义变量 i,j,k,g,n,flag=1,count=0;
输入n;
定义二维数组a[n][n]
for 0 to n-1 i
for 0 to n-1 j
输入数组a【i】【j】
for 0 to n-1 i
for 0 to n-1 j
for 0 to n-1 k
如果a【i】【j】<a[i][k]
flag=0,跳出循环
否则 flag=1
如果flag==1{
for 0 to n-1 g
如果a【i】【j】>a[g][j]
flag=0,跳出循环;
否则flag=1
否则 ,跳出本次循环进入下次循环
如果flag=1,输出i j,count=1;
如果count=0,输出NONE;
(3).代码截图
(4).本题调试过程碰到问题及PTA提交列表情况说明
忘记了continue语句的用法,导致不满足行最大时不知道怎么处理,不能跳出循环又不知道怎么样跳出本次循环
题目3:加法口诀表
(1).PTA提交列表
(2). 设计思路
定义整型变量 a,i,j,repeat,n
输入repeat
for 1 to repeat a
输入n
定义数组a【n+1】【n+1】
for 0 to n i
for 0 to n j
a[i][j]=i+j;
for 0 to n i
for 0 to n j
如果i为0
如果a【i】【j】为0
输出+ ,跳出本次循环进入下次循环
如果j==0
输出a【i】【j】
否则输出a【i】【j】向右对齐四个字符,跳出本次循环进入下次循环
如果i>=j
如果i=j,输出a【i】【j】
否则输出a【i】【j】向右对齐四个字符
每次循环结束进行换行
(3).代码截图
(4).本题调试过程碰到问题及PTA提交列表情况说明
在定义数组大小时只按照题目给的n进行判断,但是实际操作发现数组无法存放那么多数据
二、截图本周题目集的PTA最后排名
三、同学代码结对互评
1.互评同学名称:郑伟
2.我的代码、互评同学代码截图
我的代码
同学的代码
3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?
我的代码是用两个数组进行解题,一个数组存数字一个数组存出现的次数,而同学的代码一个数组双重循环既可以解决问题。我们两个的缺点都是没注释,看他的程序看的很累,他看我的也很辛苦
四、本周学习总结
1.你学会了什么?
1.你学会了什么?
1.1 C中如何存储字符串?
定义字符型数组存储字符串
1.2 字符串的结束标志是什么,为什么要结束标志?
'\0' 判断一个字符串是否结束,作为循环时结束的条件
1.3 字符串输入有哪几种方法?
gets(a)
scan("%s",&a)
for(i=0;a[i];i++)
scanf("%c",&a[i]);
1.4 数字字符怎么转整数,写个伪代码?
定义字符型变量 ch;
定义整形变量 n;
输入字符数字ch
利用ASCII码进行转换 n = ch-48 (48为数字0)
输出整型数字n
1.5 16进制、二进制字符串如何转10进制?写伪代码?
16进制:
定义字符型数组a[80]
定义整型变量n
nr=0
i for 0 to a[i]不等于\0
若a[i]为字符0到9,nt=n16+a[i]-'0';
若a[i]为'a'到'f',n=n16+a[i]-'a'+10;
若a[i]为'A'到'F‘,n=n16+a[i]-'A'+10;
2.本周的内容,你还不会什么?
- 对于字符串的输入方式的界定还不是很清楚
- 对于段错误的错误点还不明白
3.期中考试小结
3.1 你认为为什么没考好?
- 对于时间分配,考试的大局观没有掌控好
- 解题太急迫,导致程序题写了之后修改反复
- 卷面不够好
3.2 罗列错题。
单选题 3 ;4;6;11;16;18
分析程序 1; 2 ;3
-
单选题 6中c选项 语句中少了一个;,b选项中x=y==5 是先逻辑判断y是否为5,若是则x=1,若不是则x=0;这个语句是正确的
-
单选题11是考函数概念,当形参与实参类型不同时以形参为准
-
分析程序1 应先写出算法构思好,阅读到后面才发现要循环可以猜多个数
3.3 下半学期要怎么调整C的学习?
- 还是要打好基础吧,再解编程题时不能把知识点落下
- 阅读程序的能力还要提高