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

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

2017-12-10 22:28 483 查看

一、PTA实验作业

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

1. 本题PTA提交列表



2. 设计思路

定义数组str存放初始字符串,line存放十进制字符串,number表示十进制数,flag为判断标志
遍历数组,while((str[i]=getchar())!='#')   i++输入初始字符串,str[i]='\0'将结束符存入数组
for i=0 to str[i]=‘\0’从0到结束符
如果k=0并且str【i】为‘-’,flag自增
判断字符串是否为十六进制数,是的存放在line【k】中
在新数组line中存放结束符
定义number初值为0
for i=0  to  line【i】=‘\0’,将十六进制数转为十进制数
if(line[i]>='0'&&line[i]<='9') number=number*16+line[i]-'0';数字符转为10进制
else if(line[i]>='a'&&line[i]<='f') number=number*16+line[i]-'a'+10;小写字母转为10进制
else if(line[i]>='A'&&line[i]<='F') number=number*16+line[i]-'A'+10;大写字母转为1-进制
如果flag和number都不等于0;输出-number
否则输出number

3.代码截图



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

判断负数的条件一直没有写对,参考完同学的代码后写对

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

1. 本题PTA提交列表



2. 设计思路



3.代码截图



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

字符串的长度定义的小,运行时错误,count自增的判断条件开始时一直写的flag=1,看群上同学讨论后改正

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

1. 本题PTA提交列表



2. 设计思路

定义N为输入的字符串数目,max存放最大的字符串长度,max初值为0 ,temp为最长字符串的下标 ,定义二维数组str便于输入字符串 ,定义数组a存放每一个字符串的长度
输入N
for i=0  to  N   输入N个字符串
for i=0  to  N   a[i]=strlen(str[i]  把每个字符串的长度存放在数组a中
for i=N-1   to  0  将a中每个字符串的长度与max比较,大的赋给max,记下下标temp=i
输出最长的字符串

3.代码截图



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

一开始一直无法输入xiang这个字符串,后来定义了一个二维数组,才输进去

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



三、同学代码结对互评

1.互评同学名称

王洪尉

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





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

王洪尉结束符打错了,导致段错误,个人感觉我的代码效率高一些也比较简洁

四、本周学习总结

1.你学会了什么?

1.1指针变量如何定义

类型名  *指针变量名(类型名指定变量所指向变量的类型,*为指针声明符)


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

(p)++表示将指针所指向的变量加1,p++等价于*(p++),下移整数单位

int p=a; 则 p为a[0] , *(p+1)为a[1]

两个指针变量不能相加

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

程序崩溃



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

int i 和 float f 将指针i和指针p作为形参.

实参用地址来表示.

直接改变内存从而改变实参的值.



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[80],*p; p=a;(或者p=&a【0】)


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

例如:char *sp=“point”

初始位置为字符串第一个元素的地址

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



对主函数的数据传递更直接

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

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

指针预习作业第一题拆分实数的整数与小数部分,参照上面总结1.4

指针与数组预习作业

1.阅读程序题 在第二个循环前给指针赋初值p=a

2.填空题



p+n max<*q num

3.简答题

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

PTA字符数组第四题,第八题,第九题。查资料,看大佬们的代码

3.数组上机考试小结

3.1 那题错了,请罗列?

考得很差都错了

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

还是没学扎实,只学了表面的皮毛

再做一遍考试题,不会的地方再去问问写对的人,比较一下别人的代码,寻找最合适自己
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: