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

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

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

标签:1.5   维数   pos   博客   需要   定义变量   调试过程   提交   第一个   

一、PTA实验作业

题目1:统计一行文本的单词个数

1. 本题PTA提交列表:

技术分享图片

2. 设计思路

    定义变量sum为存放单词个数,b存放空格
    定义变量i = 0
    定义字符数组a[1000]存放输入字母和空格;
    当a[i]=getchar())!=‘\n‘
        如果a[i]!=‘ ‘&&b==‘ ‘
            sum++;
        b存放前一个字符
    end while
    输出sum

3.代码截图

技术分享图片

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

技术分享图片
一开始的思路是这样的,提交上去多种错误,提示段错误把数组范围改大了,其他错误一直不知道怎么办,后来问了看了做完同学的代码,他写的很简洁,发现自己没有认真审题,题目说是用空格分隔,那就只要计算每个单词第一个首字母的个数和即可,方法巧妙。

题目2:删除字符串中的子串

1. 本题PTA提交列表:

技术分享图片

2. 设计思路

    定义字符数组s1[80],s2[80];
    定义a存放s1长度,b存放s2长度,i,j,k控制循,flag标记相同字母位置
    输入第一个字符串s1
    输入第二个字符串s2
    调用strlen函数分别计算S1、S2字符串的长度a,b
    for  i=0  to i=a-1
        如果第二个字符串第一个字符等于第一个字符串中字符
            flag=0;
            for j=0 to j=b-1
                如果第二个字符串不在第一个字符串中  flag=1;
            如果 flag==0
                字符串s1长度为s1长度减去s2的长度
                for k=i to k=a-1
                                     删去字符后后面字符往前移动
                s1[a]=‘\0‘;
                                end for

    输出删去字母后字符串(考虑不全面思路)

3.代码截图

技术分享图片

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

不知道如何过最后两个测试点,技术分享图片,现在的思路无法实现第一个字符串删去第二个字符串的内容同时删去字符间的空格,还是不太有思路,希望得到指点!后续会再找找问题问问同学。

题目3:藏头诗

1. 本题PTA提交列表:

技术分享图片

2. 设计思路

    定义字符数组str[4][80]存放诗句,first[80]存放首字
    定义i控制循环
    for i=0 to i=3
        输入四行诗
    for i=0 to i=3 
        将四行的首字放入数组first中
        给first字符串存入结束符
    输出首字                                                       

3.代码截图

技术分享图片

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

百度后才知道怎么输出中文,如何做到一个字两个字符的输出,还有个错误点是技术分享图片字符串的结束下标多加了1,答案错误,可是不知道为什么deve c输出答案却是正确的,翻书验证下标出错改正后答案才在PTA通过。

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

技术分享图片

三、同学代码结对互评

1.互评同学名称:龚顺德

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

我的
技术分享图片

龚顺德同学的
技术分享图片

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

不同:两个人的思路不一样。我是用一个二维数组分别存放行数和字符个数,通过遍历数组比较得到最长字符串,而顺德是用两个数组分别存放字符串和最长字符串,他没有存放每个数组的长度,而是直接将每次输入字符串的长度和上一次字符串长度进行比较,较长的字符串保存在数组b里。我认为他的做法更简单些,就是代码的缩进有点奇怪。

四、本周学习总结

1.你学会了什么?
1.1指针变量如何定义(设计代码可以用markdown代码符号渲染)?

  • 类型名 *指针名

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

指针加法只运用在地址的偏移,如*p=a+1
两个指针变量不能相加,否则会出现编译错误

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

无法运行。技术分享图片
技术分享图片

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

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

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

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

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

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

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

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

这周PTA写的很慢思路也不太清晰,需要多阅读一些好同学的代码找思路来提高效率。还有就是指针的函数调用格式不太熟悉,如何调用指针经常要翻书确认,需要多加实践。

3.数组上机考试小结

3.1 那题错了,请罗列?

6-2排序没写出来,7-1.2.3.4有思路但没写对

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

考完当天就回去在PTA上重做并写出了正确答案,发现像进制转换是书上之前的小知识点不该错;排序考试的时候没有用三维数组做下去,不然应该可以做出来,也是书上排序方法不熟吧;IP地址的转换上课讲过只有印象,自己没有运用过考试也不知道怎么写,以后代码要多自己运行试试;倒二可能思路真的比较乱,回来也做了好久才做出来,最后一题题目没有认真看清思路偏了,以后要多多练习字符串的题目,多看看大佬代码。

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

标签:1.5   维数   pos   博客   需要   定义变量   调试过程   提交   第一个   

原文地址:http://www.cnblogs.com/linyiwei/p/8017808.html

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