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

一、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[n]=*(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 错题如何订正,为什么错了?

posted @ 2017-12-10 14:19  Airoure  阅读(316)  评论(7编辑  收藏  举报