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

C语言博客作业--字符数组

时间:2017-12-11 00:47:00      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:等价   题目   ima   总结   提交   oid   渲染   float   --   

一、PTA实验作业

题目1:7-1 字符串转换成十进制整数

1. 本题PTA提交列表

技术分享图片

2. 设计思路

定义数组str存放初始字符串,line存放十进制字符串,number表示十进制数,flag为判断标志
  遍历数组,while((str[i]=getchar())!=‘#‘)   i++输入初始字符串,str[i]=‘\0‘将结束符存入数组
  for i=0 to str[i]=‘\0’从0到结束符
       如果k=0并且str【i】为‘-’,flag自增
       判断字符串是否为十六进制数,是的存放在line【k】中
 在新数组line中存放结束符
  定义number初值为0
  for i=0  to  line【i】=‘\0’,将十六进制数转为十进制数
           if(line[i]>=‘0‘&&line[i]<=‘9‘) number=number*16+line[i]-‘0‘;数字符转为10进制
        else if(line[i]>=‘a‘&&line[i]<=‘f‘) number=number*16+line[i]-‘a‘+10;小写字母转为10进制
        else if(line[i]>=‘A‘&&line[i]<=‘F‘) number=number*16+line[i]-‘A‘+10;大写字母转为1-进制
  如果flag和number都不等于0;输出-number
       否则输出number

3.代码截图

技术分享图片

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

  • 判断负数的条件一直没有写对,参考完同学的代码后写对

    题目2:7-2 统计一行文本的单词个数

    1. 本题PTA提交列表

    技术分享图片

    2. 设计思路

    技术分享图片

    3.代码截图

    技术分享图片

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

  • 字符串的长度定义的小,运行时错误,count自增的判断条件开始时一直写的flag=1,看群上同学讨论后改正

    题目3:7-3 找最长的字符串

    1. 本题PTA提交列表

    技术分享图片

    2. 设计思路

    定义N为输入的字符串数目,max存放最大的字符串长度,max初值为0 ,temp为最长字符串的下标 ,定义二维数组str便于输入字符串 ,定义数组a存放每一个字符串的长度
       输入N
       for i=0  to  N   输入N个字符串
       for i=0  to  N   a[i]=strlen(str[i]  把每个字符串的长度存放在数组a中
       for i=N-1   to  0  将a中每个字符串的长度与max比较,大的赋给max,记下下标temp=i
      输出最长的字符串

    3.代码截图

    技术分享图片

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

  • 一开始一直无法输入xiang这个字符串,后来定义了一个二维数组,才输进去

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

    技术分享图片

    三、同学代码结对互评

    1.互评同学名称

    王洪尉

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

    技术分享图片
    技术分享图片

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

  • 王洪尉结束符打错了,导致段错误,个人感觉我的代码效率高一些也比较简洁

    四、本周学习总结

    1.你学会了什么?

    1.1指针变量如何定义

    类型名 *指针变量名(类型名指定变量所指向变量的类型,*为指针声明符)

    1.2 指针加法运算运用在哪种情况,2个指针变量能否相加?

  • (p)++表示将指针所指向的变量加1,p++等价于*(p++),下移整数单位
  • int p=a; 则 p为a[0] , *(p+1)为a[1]
  • 两个指针变量不能相加

    1.3 指针不赋初值,直接使用,会出现什么情况,请用DEVC验证,并截图展示?

    程序崩溃
    技术分享图片

    1.4 课堂派上关于分离浮点数的整数部分和小数部分那题,请用DEVC验证实现,并在此贴图展示,同时说明哪句是指针变量做函数形参,函数实参应该怎么表示。指针变量做函数形参有什么用处?

  • int i 和 float f 将指针i和指针p作为形参.
  • 实参用地址来表示.
  • 直接改变内存从而改变实参的值.
    技术分享图片

    1.5 请把课本的冒泡排序的函数改成指针变量做形参格式,并把代码写在底下,注意用markdown语法渲染。

    void bubble(int *p,int n)  { 
     int i,j,t;
     for(i=1;i<n;i++) 
          for(j=0;j<n-i;j++,p++) 
          if(*p>*(p+1))  {
               t=*p; *p=*(p+1); *(p+1)=t;
           } 
    }

    1.6 如何定义一个指针变量指向数组,如何用指针变量表示数组元素?

    int a[80],*p; p=a;(或者p=&a【0】)

    1.7 如何定义字符指针指向字符串?指针指向字符串后,初始位置在哪里?

  • 例如:char *sp=“point”
  • 初始位置为字符串第一个元素的地址

    1.8 利用字符指针操作字符串,如设计函数实现字符串连接,请在此贴图展示代码。说明指针表示字符的方法好处是什么?

    技术分享图片
    对主函数的数据传递更直接

    2.本周你不会内容有什么?

    2.1 课堂派错题罗列及如何订正。

    指针预习作业第一题拆分实数的整数与小数部分,参照上面总结1.4
    指针与数组预习作业
  • 1.阅读程序题 在第二个循环前给指针赋初值p=a
  • 2.填空题
    技术分享图片
    p+n max<*q num
  • 3.简答题

    2.2 其他不会的?打算怎么解决

    PTA字符数组第四题,第八题,第九题。查资料,看大佬们的代码

    3.数组上机考试小结

    3.1 那题错了,请罗列?

    考得很差都错了

    3.2 错题如何订正,为什么错了?

  • 还是没学扎实,只学了表面的皮毛
  • 再做一遍考试题,不会的地方再去问问写对的人,比较一下别人的代码,寻找最合适自己

C语言博客作业--字符数组

标签:等价   题目   ima   总结   提交   oid   渲染   float   --   

原文地址:http://www.cnblogs.com/lbhd/p/8017498.html

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