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

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

时间:2017-12-03 16:26:37      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:pre   getchar   images   没有   字母   思路   调用   作用   问题   

一、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:尽自己的能力多做题,提高效率,不做无用功
  • 博客园:对于每周的学习认真分析,总结得失,制定小目标
  • 课堂:认真听老师的例题讲述,尽可能弄懂知识点,打好基础,互动自己独立思考
  • 上机考试:提前备考,把必考代码弄懂,在考试中不紧张,把题目题意弄懂,缕清思路,再打代码

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

标签:pre   getchar   images   没有   字母   思路   调用   作用   问题   

原文地址:http://www.cnblogs.com/wlc0116/p/7954333.html

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