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

一、PTA实验作业(4分)

题目1:找最长的字符串

1. 本题PTA提交列表(要提交列表,不是结果)

2. 设计思路(伪代码或流程图)

    定义变量i,j做循环变量,count累计字符串字节的个数,maxm存放最大字节数的那个,n是输入单词个数
    for i=0 to n 进行n次的输入单词
    输入第一个单词并累计字节数把他赋予maxm作为最大值
    判断	if (maxm<counts) 来找出最大的那个然后将他输入到数组max[]中,
    for i=0, to max[]== ' \ 0 ';
    输出max数组的字符串

3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)

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

  • 每次都让maxm 等于一个新的counts,导致找不出最大的那个字符,最后对maxm的赋值进行了修改
  • 用for循环进行输入字符串并以遇到‘\ n’就跳出为条件,结果循环出错。最后用while语句来进行输入
    while ((a[j]=getchar())!='\n')

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

1. 本题PTA提交列表(要提交列表,不是结果)

3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)

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

  • 数组输入用了for循环导致段错误emmmmmm

题目3:字符串转换成十进制整数

1. 本题PTA提交列表(要提交列表,不是结果)

2. 设计思路(伪代码或流程图)

    定义循环变量i,j,k,flag
    while ((a[i]=getchar())!='#')输入字符串
    for (i=0;a[i]!='\0';i++)遍历数组找出属于16进制字符,b[k]=a[i];并将他赋予b数组,当k=0时向前寻找有没有 ‘ - ’符号有则令flag=1
    最后将b数组遍历将16进制字符转为10进制数
    最后输出判断flag是否等于1是则为负数。

3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)

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

  • 最初以为第一个16进制字符前有一个符号为负数两个为正数。。。导致答案出错,最后看到同学写的博客,醍醐灌顶,才使答案正确

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

三、同学代码结对互评(1分)

1.互评同学名称:王林聪

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

我的

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

王同学把每个空格前的字符串断开,当遇到空格且前面字符字节不为0时对单词书进行累加,每次这样一轮后将空格数及字符字节数重置为0在继续,循环,最后再结尾判断最后的字符是否为0不为0,则在加1
而我忽略了这一点导致不能满分,王同学得代码值得我学习


四、本周学习总结(3分)

1.你学会了什么?

1.1指针变量如何定义(设计代码可以用markdown代码符号渲染)?
类型名 *指针变量名

1.2 指针加法运算运用在哪种情况,2个指针变量能否相加?
对数组赋值时,遍历数组时,不能,比较运算可以得到两个指针的相对位置,而相加的结果什么都不是。比如总共有100个房间,甲住在67号,乙住在80号,通过比较运算可以知道他们离的有多远,但如果用67+80得到的是什么?

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

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

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

#include<stdio.h>
void bible(int *p,int n );
int main(void)

{
	int n,a[8],*p,i;
	p=a;
	scanf("%d",&n);
	for (i = 0;i<n;i++)
	scanf("%d",p+i);
	bible (p,n);
	for (i=0;i<n;i++)
	printf("%d",p+i) ;
	return 0;	
}

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

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

int a[],*p; p=a; p p+1 ,p+2 ........==a[0]. a[1].................

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

char *p,ch[]; p=ch; 初试为止在第一个;

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

可以对任意的字符串进行连接,字符指针只用一个单元就可以存放地址的内存单元

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

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

p)++是先输出p的值然后对p进行加1

*point是指针point指向的变量a的值

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

自行课下百度,请教大佬;

3.数组上机考试小结

3.1 那题错了,请罗列?
都错了;

3.2 错题如何订正,为什么错了?
请教大佬,向大佬要考试代码,自己阅读代码,提高阅读代码能力

posted @ 2017-12-10 20:19  Hughgk  阅读(319)  评论(1编辑  收藏  举报