字符数组

Posted 林怡鹏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符数组相关的知识,希望对你有一定的参考价值。

一、PTA实验作业

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

1. 本题PTA提交列表(要提交列表,不是结果)

2. 设计思路(伪代码或流程图)

3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)

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

1.部分正确:当题目前出现负数时,需要一个一个if语句来加入负号。
2.部分正确:当存在2个负号时,题目只输出一个负号,不会输出第二个,因此定义一个count,如果与出现过负号count=1

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

1. 本题PTA提交列表(要提交列表,不是结果)

2. 设计思路(伪代码或流程图)

3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)

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

1.部分正确:多个空格全部算入了
2.部分正确:空格结尾,被算入
上述问题解决方法:定义count,当a[i]!=\' \'且b==\' \'时才count++,最后输出count

题目3: 统计大写辅音字母

1. 本题PTA提交列表(要提交列表,不是结果)

2. 设计思路(伪代码或流程图)

3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)

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

1.一开始用%s输入,结果遇到空格就停止了,导致少记,应该用getchar

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

PTA排名

三、同学代码结对互评(1分)

1.互评同学名称:吴军霖

2.我的代码、互评同学代码截图(此处截图核心代码就好,不一定截图全部代码,图上指明是谁的代码。)

我的代码:
大佬代码:

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

不同点:我是设置了四个变量,并且每个变量分别按照0-7,8-15,16-23,24-32的顺序分别分析,而她则用put[cnt++]和i%8==0的IF语句快速跳过,使得代码简介而简单。
我的优点:好想,容易读懂
他的优点:代码更简练,思考的更深,值得学习

四、本周学习总结(3分)

1.你学会了什么?

1.1指针变量如何定义(设计代码可以用markdown代码符号渲染)?

定义格式:类型名 指针名;
通用型指针定义格式 :
void
指针名 他可以指向任何变量

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

就比如在函数内,(p+i),就等于p所对应数组的第i-1个位置
两个指针变量相加没意义

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

使用没有初始化的指针将发生无法预料的结果,通常,一个没有赋值的指针可能指向任意地址,如果此时对指针执行了解除引用(即*pointer)操作,则可能改写内存中的信息,这可能导致正在引用该内存区的程序崩溃,严重时,程序将退出,但不会破坏程序本身

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

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 *p,a[2] p=a/p&a[0]

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

char *p,str[]={abc}; p=str;
初始位置str[0]

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


指针能够直接对地址内的元素进行操作

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

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

With regard to the array definition int a[4];,which expression among the following is wrong?
A、*a B、a[0] C、a D、a++
错选:A
答案:D

错误:虽然可以用,但是没用指针
应该:

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

对于指针的用法还不是很清楚,地址的问题不是很了解。希望通过后续题目以及多看书本解决

3.数组上机考试小结

3.1 那题错了,请罗列?

7-2 jmu-c-十进制转16进制
7-3 jmu-c-输出字符间的字符子串
7-4 数组元素的删除

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

7-2
错误:不会
思路:与换2进制一样,不断除以16,然后结果往上读
7-3、7-4为个别测试点错
调试后就好了

以上是关于字符数组的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 代码片段

10个JavaScript代码片段,使你更加容易前端开发。

10个JavaScript代码片段,使你更加容易前端开发。

csharp LINQPad片段声明了两个字符串数组,吐出了它们互斥的部分。

csharp LINQPad片段声明了两个字符串数组,吐出了它们互斥的部分。

NC41 最长无重复子数组/NC133链表的奇偶重排/NC116把数字翻译成字符串/NC135 股票交易的最大收益/NC126换钱的最少货币数/NC45实现二叉树先序,中序和后序遍历(递归)(代码片段