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

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

时间:2017-12-02 22:06:43      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:one   字符型   get   1.2   img   src   小结   判断   总结   

一、PTA实验作业

题目1:7-3 出生年

1.本题PTA提交列表

技术分享图片

2.设计思路

定义year为年份,number存放要求不同数字个数,count计数不同数位,i,rj,n,flag,u,v。
     a[4]存放年份各个位数。
     输入year,number。
     for i=year to.....
     定义a[4]={0},j=0,n=i。
       对n取余再除10,将余数r依次存入a[j++].
          count=1
          for u=1 to u=3
           flag=1
              for v=0 to v=u-1
              如果a[u]=a[v] flag=0 
              跳出当前循环 
              end 
            end
          如果flag!=0,count++
          如果count==number,跳出循环。
         end
          输出年份和相差年份。

3.代码截图

技术分享图片

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

  • 1.刚开始不知道如何补零
    解决方法:上网查询。
  • 2.在如何判断年份有几个不同数的时候,判断方法错误。
    解决方法:和同学交流。

题目2:7-7 找鞍点

1.本题PTA提交列表

技术分享图片

2.设计思路

定义n为n维数组,i,j,c,r,flag=0。
   定义a[6][6]。
   输入n
  for i=0 to n-1
   for j=0 to n-1
    输入数值赋予a[i][j].
  end.
 for i=0 to n-1
   c=0
   for j=0 to j=n-1
     如果a[i][j]>=a[i][c],c=j
   end
   r=0
   for j=0 to j=n-1
     如果[j][c]<=a[r][c],r=j
   end
  如果 i==r flag=1 跳出循环  
  end
  如果flag==1,输出r,c。
  如果flag==0,输出NONE。

3.代码截图

技术分享图片

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

  • 1.没有考虑考虑并列极值
    技术分享图片
    解决方法:将>改成>=

题目3:7-10 杨辉三角

1.本题PTA提交列表

技术分享图片

2.设计思路

定义n存放三角的行数,i,j
    输入n
   定义a[10][10]
   for i=0 to n-1
     for j=0 to n-1
      如果i==j或j==0,a[i][j]=1
      否则 a[i][j]=a[i-1][j-1]+a[i-1][j]
      end 
 end
   for i=0 to n-1
     for j=0 to n
       输出a[i][j]
       换行
       end

3.代码截图

技术分享图片

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

  • 本题没有遇到什么问题。

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

技术分享图片

三、同学代码结对互评

7-3
郑嘉亮代码:技术分享图片
我的代码:技术分享图片

评价:我们两个在判断不同数个数的方法不同,就代码而言,他的较为简单且有注释可读性高,但我的代码也容易懂,我更喜欢我的代码。

四、本周学习总结

1.你学会了什么?

1.1 C中如何存储字符串?

  • 采用字符型数组存储字符串。

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

  • 结束标志:\0
    原因:如果没有\0,那么在使用系统函数处理字符串的时候,函数就不能准确判断字符串在哪里结束,从而可能导致数组越界。

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

  • 三种
    1.使用循环结构和scanf("%c", )
    2.scanf("%s", )
    3.gets()

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

  • 定义字符ch存放数字字符
    输出ch-‘0‘

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

  • 16进制:
    定义字符数组a[100]存储16进制字符串,result为转化后结果
    number=0
    for i=0 to a[i]==‘\0‘
    若a[i]为字符0到9,result=result16+a[i]-‘0‘;
    若a[i]为‘a‘到‘f‘,result=result
    16+a[i]-‘a‘+10;
    若a[i]为‘A‘到‘F‘,result=result16+a[i]-‘A‘+10;
    end
    输出number
    2进制
    定义字符数组a[100]存储2进制字符串,result为转化后结果
    for i=0 to a[i]==‘\0‘
    若a[i]为字符0或1,result=result
    2+a[k]-‘0‘;
    end
    输出number

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

  • 对字符串的几种输入还不能很好的区别使用。

3.期中考试小结

3.1 你认为为什么没考好?

  • 1.基础的概念没有熟练。
    2.粗心,写反空格,把上面的抄下来抄错。
    3.时间安排不当。
    4.手写代码能力差,卷面不整洁。

3.2 罗列错题

  • 选择题1,10,11,16,17,18。分析题1,2。编程题1,2。

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

  • 将基本的知识点掌握,提高代码简洁和可读性,多学习出色的人的思考方式。

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

标签:one   字符型   get   1.2   img   src   小结   判断   总结   

原文地址:http://www.cnblogs.com/oracler0103/p/7955269.html

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