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 错题如何订正,为什么错了?
请教大佬,向大佬要考试代码,自己阅读代码,提高阅读代码能力