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

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

时间:2017-12-04 00:10:44      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:down   中间   ges   数列   读速度   十六进制   调试过程   字符   列表   

一、PTA实验作业

题目1:判断上三角矩阵

1. 本题PTA提交列表

技术分享图片

2. 设计思路

  定义整形变量T,t,n,flag,循环变量i,j。
 输入T //T表示矩阵个数
 for i=1 to i<=T //循环输出T个矩阵并判断是否为下三角矩阵
 初始化flag=0
  输入n
 定义整型数组a[n][n]
  for j=0 to j<n
     for t=0 to t<n
     scanf("%d",&a[j][t]);//输出二维矩阵
  for(j=0;j<n;j++)
     for t=0 to t<j
     如果 a[j][t]!=0
      flag=1 //矩阵不满足时
  end j
  如果 flag==0
   输出YES //距阵满足时
  否则
   输出NO
   end i

3.代码截图

技术分享图片

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

没有在第一个循环中令flag=0,第一次循环后的答案都是错的。

题目2:找鞍点

1. 本题PTA提交列表

技术分享图片

2. 设计思路

定义整形变量n,max,min,flag,循环变量i,j。
输入n
定义整形数组a[n][n]
for i=0 to i<n
    for j=0 to j<n
    输入a[i][j] //输入数据存放在数组中
 for i=0 to i<n
 令max=0
  for j=1 to j

##3.代码截图
技术分享图片

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

  • 开始写的时候误以为输出的max是行下标,min是列下表,调试的时候输出答案的时候才发现了错误。
  • 在判断最大值和最小值的时候把max=j写成了a[max]=a[j]。

题目3:简化的插入排序

1. 本题PTA提交列表

技术分享图片

2. 设计思路

定义整形变量 i,n,x,j,t;
输入n //n为数组长度
定义一个整形数组a[n];
for i=0 to i<n
输入a[i] //把数据存入数组
end i
输入x的值
如果a[0]>=x //讨论当x为数列中最小值的情况
   则输出x
   for i=0 to i<n
   输出a[i]
    end i //输出整个数组的值
 如果a[n-1]<=x //讨论当x为数列中最大值的情况
    for i=0 to i<n
   输出a[i]
end i //输出整个数组
在最后输出x的值
当x位于中间时 //讨论x排在数列中间的情况
   for i=0 to i

3.代码截图

技术分享图片

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

第一次写时没分开讨论三种情况,只讨论了插在中间时的情况,最后通过pta上的提示改正了。

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

PTA排名
技术分享图片

三、同学代码结对互评

1.互评同学名称

2.我的代码、互评同学代码截图

3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?

四、本周学习总结

1.你学会了什么?

1.1 C中如何存储字符串?

c语言将字符串作为一种特殊的一维数组来处理。将字符串存入字符数组时,要包括有效字符和字符串结束符‘\0‘。

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

结束标志为遇到结束符‘\0‘,因为为要用结束标志来控制循环。

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

方法:数据初始化、赋值和输入

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

定义整形变量number,i,
定义字符数组a[10]
令i=0
while (a[i]=getchar())!=‘\n‘
i++
end while//输入一个数组
记最后一个字符为a[i]=‘\0‘//将结束符存入数组
for i=0 to a[i]!=‘\n‘
number=a[i]-‘0‘//转换成数字
输出number
end i
end for

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

定义整形变量number,i,
定义字符数组a[80]
令i=0
while (a[i]=getchar())!=‘\n‘
i++
end while//输入一个数组
记最后一个字符为a[i]=‘\0‘//将结束符存入数组
for i=0 to a[i]!=‘\n‘
number=number16+a[i]-‘0‘//将十六进制转换为十进制
或number=number
2+a[i]-‘0‘将二进制转换为十进制
输出number
end i
end for

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

技术分享图片

  • 该题的代码读不懂它的目的
    技术分享图片
  • pta题目集中这题写了很久还是没思路

3.期中考试小结

3.1 你认为为什么没考好?

  • 很多基础没掌握好;
  • 学过的知识点没能及时复习,很容易遗忘。
  • 读编程题的能力差。
  • 写题的速度太慢,不够时间。

3.2 罗列错题。

选择题
技术分享图片

填空题

改错题

编程题

请在选择题、填空题、改错题、编程题分别举一题说明为什么错了,怎么改?

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

  • 及时复习学过的内容,扎实基础;
  • 多锻炼自己阅读代码的能力,并提高阅读速度

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

标签:down   中间   ges   数列   读速度   十六进制   调试过程   字符   列表   

原文地址:http://www.cnblogs.com/q2634615476/p/7957592.html

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