C语言博客作业--字符数组
一、PTA实验作业
题目1.统计一行文本的单词个数
1.本题PTA提交列表
2.设计思路
定义变量a[1000]储存单词
变量i用于循环,变量m表示字符串长度,变量j表示单词个数;
if a[0] != 空格 则j=0;否则 j=1;
for i=0 to i<m-1
if a[i]==空格并且a[i+1] != 空格 则j++
输出j
3.代码截图
4.本题调试过程碰到问题及解决办法
没有考虑句子结尾标点符号前可能有空格,和室友讨论过后解决了
题目2. 统计大写辅音字母
1.本题PTA提交列表
2.设计思路
3.代码截图
4.本题调试过程碰到问题及解决办法
一开始没有用getchar输入,导致错误
题目3找最长的字符串
1.本题PTA提交列表
2.设计思路
输入n;
定义变量a[n][80];
for i=0 to i<=n
for j=0 to j<80
如果a[i][j]=='\n' break;
for i=0 to i<=n
for j=0 to j<80
如果a[i][j]=='\n'并且j>k
k=j; m=i;
for i=0 to i<k
输出a[m][i];
3.代码截图
4.本题调试过程碰到问题及解决办法
本题是请教彭希同学的,所以在调试过程中没有什么问题
二、截图本周题目集的PTA最后排名
三、同学代码结对互评
1.互评同学名称:彭希
2.我的代码、互评同学代码截图
3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
我和彭希的代码思路差不多相同,只是有一个循环使用不一样,但达到的效果是一样的,我更喜欢我的代码,但是我们两个的代码都没有注释,这是需要改进的地方
四、学习总结
1.你学会了什么?
1.1 指针变量如何定义(设计代码可以用markdown代码符号渲染)?
- 类型 *p
1.2 指针加法运算运用在哪种情况,2个指针变量能否相加?
- 指针指向数组,指针自增表示数组的下一个。不能相加
1.3 指针不赋初值,直接使用,会出现什么情况,请用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 a[100],*p;
p=a;
1.7 如何定义字符指针指向字符串?指针指向字符串后,初始位置在哪里?
- char *s="cpoint"
- 初始位置为字符串首元素的地址.
1.8 利用字符指针操作字符串,如设计函数实现字符串连接,请在此贴图展示代码。说明指针表示字符的方法好处是什么?
- 可以对主函数数据传递
2.本周的内容,你还不会什么?
2.1 课堂派错题罗列及如何订正。
指针数组不能直接偏移 答案为D
2.2 其他不会的?打算怎么解决
- 多做题 多练习,也要注意课本上后面的习题
3.数组上机考试小结
考试没对什么题,对数组的学习还是太浅了,没有深入,没有真正的会运用数组来解题,在后续的学习中需要多多加强,平时也要投入更多的时间来学习,争取早日赶上同学们的步伐,老师的进度