您的位置:首页 > 编程语言 > C语言/C++

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

2017-12-10 21:10 351 查看

一、PTA实验作业

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

1.本题PTA提交列表



2.设计思路



3.代码截图



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



当时写是认为当字符串中的一个字符为空格时,只要其两边的字符不为空格,那就可以算是一个单词了,调试发现用多个空格隔开单词时它就不算进单词个数里了。调试之后把条件改为,当字符串中一个字符为空格时,只要它的下一个字符不为空格或结束符时,单词个数加一。正确通过。

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

1.本题PTA提交列表



2.设计思路



3.代码截图



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



本题错误不太明显,是在同学指导下才发现了问题所在。问题就是找出最长单词后没有结束符,输出不正确。加上结束符即可。

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

1.本题PTA提交列表



2.设计思路



3.代码截图



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



这题是范围不够大,统计不完全,将字符串的长度从80改为81之后问题得到解决。

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



三、同学代码结对互评

7-1代码截图

我的



吴军霖的



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

军霖同学的代码只用了一个变量来对进制转换进行运算,而我的用了两个,显而易见的,他的代码比我的更为简便,而且思路极为清晰,而我的则是给人一种走一步算一步的感觉。相较之下,他的代码显然更能让人接受。

四、本周学习总结

1.你学会了什么?

1.1指针变量如何定义

定义指针变量要使用指针声明符*,如int i,*p
int *p 代表指向整型变量
char *p 代表指向字符型变量
float *fp 代表指向单精度实型变量
double *dpl 代表指向双精度实型变量

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

(1)指针+一个整型常量

(2)不能

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



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



指针变量做函数形参:void splitfloat(float x,int *intpart,float *fracpart)
实参传地址,用地址表示:splitfloat(x,&intpart,&fracpart);
指针变量做函数形参可以返回多个结果

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

#include<stdio.h>
void bubble(int *a,int n){
int i,j,c;
for(i=0;i<n-1;i++)
for(j=0;j<n-i-1;j++){
if(*(a+j)>*(a+j+1)){
c=*(a+j);
*(a+j)=*(a+j+1);
*(a+j+1)=c;}
}
}
int main(){
int i,n;
scanf("%d",&n);
int a
;
for(i=0;i<n;i++) scanf("%d",&a[i]);
bubble(a,n);
for(i=0;i<n;i++) printf("%d ",a[i]);
return 0;
}

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

int a[10],i,*p;
p=a;
for(i=0;i<10;i++)
*(p+i)=i;
或者
int a[10],i,*p
p=a;
for(i=0;i<10;i++)
*p=i;

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

char *p,str[3]={abc};
p=str;

初始位置str[0]

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



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

指针表示字符,字符不会被覆盖。

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

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

(1)题目



(2)解析

c选择中的*&point不是地址。

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

(1)对指针运用不熟悉

(2)指针与数组的互换与表示方法掌握不好

(3)对于指针作为函数形参的应用还不熟悉

打算:多做相关题目,反复阅读书上关于这些内容的部分。

3.数组上机考试小结

3.1 那题错了,请罗列?

6-1 数组循环右移

7-3 jmu-c-输出字符间的字符子串

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

如题6-1



想法过于简单,没有真正读通题目,其实其他的题目也都不怎么会,至于原因,不外乎是平时敲的代码不够多,代码阅读量也不足。应该听从老师的意见,当一道题目僵持了太久,应向同学求助,适当借鉴同学的代码,而不能钻牛角尖。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: