c语言一,二数组

一、PTA实验作业

题目1:7-4 简化的插入排序

1. 本题PTA提交列表

2. 设计思路

  • 1.定义整形变量N,temp,i.
  • 2.输入N
  • 3.通过for(i=1;i<=N;i++)的循环语句来输入数组从小到大排好顺序好的数组a[i]
  • 4.输入要插入的的数,用数组a[0]表示.
  • 5.通过or(i=0;i<N;i++)的循环语句,从i=0开始判断是否a[i]>a[i+1]
  • 6.a[i]>a[i+1],temp=a[i+1];a[i+1]=a[i];a[i]=temp;
  • 7.最后通过 for(i=0;i<=N;i++)的循环语句输出新的数组a[I]

3.代码截图

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

` 没有将插入的值用数组表示,对插入的新数组不好表示

题目2:7-7 找鞍点

1. 本题PTA提交列表

2. 设计思路

  • 1.定义整形变量N,i,j,row,col,b,flag;
  • 2.输入N.
  • 3.定义二维数组a[6][6];
  • 4.通过for(i=0;i<N;i++){for(j=0;j<N;j++)}的嵌套循环输入二维数组.
  • 5.通过for(i=0;i<N;i++)的循环语句,row=i;col=0;flag=0;
  • 6.再通过嵌套循环for(j=0;j<N;j++),if(a[i][j]>=a[row][col]),row=i;col=j;来找出所在行的最大数组,并且用row和col表示该数组.
  • 7.同理,再通过嵌套循环for(b=0;b<N;b++),再判断if(a[b][col]<a[row][col])
  • 8.若a[b][col]<a[row][col],flag=1.否则flag=0;
  • 9.判断flag是否等于0,等于0,break.
  • 10.若循环结束flag=1输出NONE,否则输出该鞍点.

3.代码截图

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

` 在后面的循环语句前没有令row=i;col=0;flag=0而输出的值UI为答案错误.

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

1. 本题PTA提交列表

2. 设计思路

  • 1.定义整形变量T,N,i,j,b,flag;
  • 2.输入T.
  • 3.通过循环for(i=1;i<=T;i++)来输出二维数组的个数.
  • 4.定义二维数组a[10][10];
  • 5.通过for(j=0;j<N;j++){for(b=0;b<N;b++)}的嵌套循环输入二维数组,
  • 6.再通过for(j=0;j<N;j++){for(b=0;b<N;b++)}的嵌套循环来进行下一步下三角的判断
  • 7.判断if(j>b),再判断if(a[j][b]!=0),flag=1.
  • 8.若flag说明下三角全为0,是上三角矩阵,输出YES
  • 9.否则,输出NO.

3.代码截图

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

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

三、同学代码结对互评

1.互评同学名称

  • 吴军霖

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

3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。

  • 我的方法和军霖的方法,我的方法是除第0行行和第0列是字符'+'.其余值都是用该值所在数组的下表的行和列求和.而军霖的方法是除第0行和第0列是字符'+',第一行的个值个单独输出,其他的值都是等于该值所在数组的行列下标之和.
  • 我更喜欢军霖的代码,因为他用的是更有想法和简单的方法来做.
  • 没有什么错

四、本周学习总结

1.你学会了什么?

1.1 C中如何存储字符串?

  • 用字符数组存贮串

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

  • 遇到字符='\0'就会结束字符串.因为只有结束字符串才能输出字符串.

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

  • 1.利用循环语句,通过scanf("%c")来输出.
  • 2.利用循环语句,通过putchar(数组)来输出.

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

  • 例如数组str[i],转整数:str[i]-'0'

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

  • 2进制
    定义字符数组a[100]存储16进制字符串,result储存转化后结果
    输入a[]
    for 第一位to最后一位
    若a[]为字符0或1,result=result*2+a[k]-'0';
    end
    输出结果
  • 16进制
    定义字符数组a[100]存储16进制字符串,result储存转化后结果
    输入a[]
    for 第一位to最后一位
    字符0到9,result=result16+a[k]-'0';
    若a[]为a到f或A到F,result=result
    16+a[k]-'a'或'A'+10;
    end

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

还不会熟练运用排序法的几种方法. 对于字符数组PTA的题目的解题有困难

3.期中考试小结

3.1 你认为为什么没考好?

  • 1.知识点没完全掌握和理解.
  • 2.考试前没有认真的复习.

3.2 罗列错题。

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

  • 1.不要只在意PTA程序的编写,还要学习课本的内容和参考别人的更好的代码
posted @ 2017-12-03 13:22  ljy1139  阅读(254)  评论(3编辑  收藏  举报