字符数组
一、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为个别测试点错
调试后就好了