码迷,mamicode.com
首页 > 编程语言 > 详细

C语言博客作业--一二维数组

时间:2017-12-02 23:30:02      阅读:355      评论:0      收藏:0      [点我收藏+]

标签:div   存储空间   分享   次数   1.4   1.5   是什么   技术分享   语言   

一、PTA实验作业

题目1:7-2 求整数序列中出现次数最多的数

1. 本题PTA提交列表

技术分享图片

2. 设计思路

  • 定义变量n,i,j,max等于0,a[]10用于存放输入的值,b[10]用于存放a[]中各个数有多少个;
  • 输入n的值
  • i从0开始,每次加1,输入a[i]的值,直到i==n结束循环
  • i从0开始,判断i是否<n,,进入下一步,每次加一,直到条件不满足
    j从0开始,判断j是否<n,,进入下一步,每次加一,直到条件不满足
    如果a[i]==a[j],b[i]加一
  • i从0开始,判断i是否
  • 输出a[j] 与max的值

3.代码截图

技术分享图片

4.本题调试过程碰到问题及PTA提交列表情况说明。

技术分享图片
当时由于创造一个新的数组c[]用来存放b[]导致本题的变量太多,中间某些地方写错,用Dev调试,变量太多,很难看清楚,后来将c[]删除,用b[]来做就做对了。

题目2:7-8 加法口诀表

1. 本题PTA提交列表

技术分享图片

2. 设计思路

  • 定义变量repeat,i,n;
  • 输入repeat的值
  • j从1开始,判断j是否<n+1,,a[o][j]每次加一,直到条件不满足
  • 调用函数void arrange(int n);
  • 定义变量a[][],i,j,op=‘+‘
  • j从0开始,每次加1,a[0][j]=0,直到i==n+1结束循环
  • i从1开始,判断i是否<n+1,,进入下一步,每次加一,直到条件不满足
    j从0开始,判断j是否<n+1,,进入下一步,每次加一,直到条件不满足
    a[i][j]等于j+i
  • 输出op的值
    j从0开始,输出a[0][j]进入下一步,每次加一,直到条件不满足
    换行
    从1开始,判断i是否<n+1,,进入下一步,每次加一,直到条件不满足
    j从0开始,判断j是否<n+1,,进入下一步,每次加一,直到条件不满足
    输出a[i][j]的值并且换行

3.代码截图

技术分享图片

4.本题调试过程碰到问题及PTA提交列表情况说明。

技术分享图片
本题要求每行最后一个数值后面没有空格直接换行,且占四列,我用了空格,后来改为3个空格,才明白四列是3个空格。

题目3:7-9 判断上三角矩阵

1. 本题PTA提交列表

技术分享图片

2. 设计思路

  • 定义变量T,n,i,j,k,a[][]
  • 输入T的值
  • i从0开始,每次加1,输入n的值,直到i==repeat结束循环
    j从0开始,每次加1,进入下一步,直到i==nt结束循环
    i从0开始,每次加1,输入a[i]的值,直到i==n结束循环
    输入a[i][j]的值
  • 调用函数s=arrange(a,n);
  • 如果s=1,则输出Yes,否则输出No
  • 定义变量ijs
  • i从0开始,每次加1,进入,直到i==n结束循环
    j从0开始,每次加1,进入下一步,直到i==nt结束循环
    如果a[i][j]不等于0,s=0,跳出这个循环
  • return s

3.代码截图

技术分享图片

4.本题调试过程碰到问题及PTA提交列表情况说明。

技术分享图片
技术分享图片
刚开始以为是下面哪个部分错误,就从下往上一个个注释掉,后来才发现是scanf后面加了一个换行符号的错误。

二、截图本周题目集的PTA最后排名。

技术分享图片

三、同学代码结对互评

杰伟的代码
技术分享图片
技术分享图片

我的代码
技术分享图片

  • 1.我和他代码不同的是对于加法的求和我是发现规律来求的a[i][j]=j+i; 他是用a[k][m]=a[0][k]+a[m][0];,他的这个方法适应性更强
  • 2对于输出我用空格相对来说比他更简洁,代码量更少,用-4d考虑的因素太多了,更容易出错

四、本周学习总结

1.你学会了什么?

  • 我学会了用rand实现计算机“自己”产生数字
  • 我学会了用gets(),输入

1 C中如何存储字符串?

  • 2.使用字符数组存;
  • 2.使用字符指针存储字符串

1.2 字符串的结束标志是什么,为什么要结束标志?

  • ‘0’
  • 使字符串正常结束

1.3 字符串输入有哪几种方法?

  • scanf("%s",a);
  • scanf("%c",p);
  • gets(a);

1.4 数字字符怎么转整数,写个伪代码?

  • 定义一个整数形变量i,和字符形变量j
  • i等于j-字符0+0

1.5 16进制、二进制字符串如何转10进制?写伪代码?

16进制转成10进制

  • 定义一个变量number为0,数组a[]
  • 将16进制的字符串依次输入到a[i]中
  • i从0开始,每次加1,进行下一步,直到a[i]==0结束循环
    如果a[i]在0到9之间,number=number16+a[i]
    如果a[i]在a到f之间,number=number
    16+a[i]-‘a’+a
    如果a[i]在A到F之间,number=number*16+a[i]-‘A’+A
  • 输出number

二进制转成10进制

  • 定义一个变量number为0,数组a[]
  • 将12进制的字符串依次输入到a[i]中
  • i从0开始,每次加1,进行下一步,直到a[i]==0结束循环
    number=number*2+a[i]
  • 输出number

2.本周的内容,你还不会什么?

  • 对于这个题目一点思路都没有技术分享图片

*对于这个题目不理解题意,导致课堂派的这道题完全不会填 技术分享图片

  • 对于gets(a),scanf(“%s”,a)运用不太熟悉

3.期中考试小结

33.1 你认为为什么没考好?

  • 首先是我对于10进制2进制16进制的相互转换不是很熟悉
  • 对于表达式中的位运算,等号表达式,逗号表达式,逻辑表达式不会
  • 写代码字写的差,没有注释,看起来很不美观

    33.2 罗列错题。

    比如期中考试卷的单选题的第4道题,技术分享图片

  • 字节:8个二进制位构成1个"字节(Byte)",它是存储空间的基本计量单位。
  • 目前广泛使用的Pentium机,其字长为32
  • 因为每个字节byte是8个bit
    这道题做错是不懂于字节的概念
    比如填空题技术分享图片

  • Total = 10
    对于这道题我错误在于没有加上空格

比如改错题技术分享图片

  • n++改为n=n+2没有改出来
    由于对于这道题的算法没有搞清楚,所以错误了

比如编程题技术分享图片

  • 就是对于一元二次方程的x=[+ -(b^2-4ac)^(1/2)-b]/2a这个不会导致x1,x2没办法写出代码,把这个式子添加进去就正确了

3.3 下半学期要怎么调整C的学习?

  • 我觉得我应该做好预习工作,改正我对课堂派不认真的态度。
  • 在做pta应该要多花时间,不应该在一道题上纠结一天的时间,提高效率。
  • 在老师讲完后,应该要回顾自己还不理解的地方,把它解决掉,在博客作业总结自己的一个星期学会与不会的内容。

C语言博客作业--一二维数组

标签:div   存储空间   分享   次数   1.4   1.5   是什么   技术分享   语言   

原文地址:http://www.cnblogs.com/guobaoqing/p/7954743.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!