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

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

2017-12-10 14:19 351 查看

一、PTA实验作业

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

1. 本题PTA提交列表



2. 设计思路

定义变量n存字符串数,max存最长长度
定义数组 a[1000]存放字符串,b[1000]存放最长数组,c临时字符
输入n
for i=1 to i>n

for j=1 to c=回车
a[j]=c;
end j

if j>max
for k=1 to k>j
b[k]=a[k]
end k

max=j
end i
输出The longest is 和最长数组

3.代码截图



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

多种错误 是由于数组定义时没用static定义导致数组没有初始化而错误

答案错误 我将数组扩大十倍后就多通过一个测试点

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

1. 本题PTA提交列表



2. 设计思路



3.代码截图



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

部分正确:看错题目,将非原音字母看成元英字母导致出错

题目3:7-12 IP地址转换

1.本题PTA提交列表



2. 设计思路

定义字符数组a存放32位2进制
定义ip存放数字形式ip
输入字符串a
for i=0 to i=32
ip=a[i]转数字+ip*2
如果i+1能整除8
输出ip
如果i不为32输出.
ip=0
end i

3.代码截图



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

本题无误

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



三、同学代码结对互评

陈文杰代码

我的代码


点评:首先在他的输入部分用的是循环结构,而我的是gets语句,我觉得我这么写更加简洁,而且运行效率可能会更高些,其次,在判断是否相同字段时他使用的方法过于冗余,

而我是采用课堂派上用过的方法,他的方法代码量太大了,而且不好懂,其他的都还行

四、本周学习总结

1.你学会了什么?

1.1指针变量如何定义

类型 *p

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

可以用在看两个内存直接差多少个内存,不能相加因为地址相加没有意义

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





程序会奔溃

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

#include<stdio.h>
void brek(float x,int *intpart,float *floatpart);
int main(void)
{
int intpart;
float number,floatpart;
scanf("%f",&number);
brek(number,&intpart,&floatpart);
printf("%d %f",intpart,floatpart);
return 0;
}
void brek(float x,int *intpart,float *floatpart)
{
*intpart=x;
*floatpart=x-*intpart;
}




指针变量做函数形参:void brek(float x,int intpart,float floatpart)

函数实参:地址即数组名

好处:便于操作

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

void bubblde(int \*p,int n)
{
int i,j,t;
for(i=1;i<n;i++)
for(j=0;j<n-i;j++)
if(*(p+j)>*(p+j+1)){
t=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=t;
}
}

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

int *p;
int a[10];
p=a;

表示a
=*(p+n)

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

char *p;
char a[10];
p=a;

初始位置在第一个字符

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



好处:便于操作

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

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


A选项中的*&a不表示地址


指针未赋初值不能使用

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

对于pta字符数组的题目还不是很会,做出来的题目有些思路很乱,打算多和同学讨论多看看别人代码

3.数组上机考试小结

3.1 那题错了,请罗列?

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

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