一、PTA实验作业(4分)

题目1:7-5 查验身份证

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

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

定义变量身份证个数n,合法个数count=0,flag=0,sum=0,及数组quan[],a[999][999],z[]
quan[]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}
z[]={'1','0','X','9','8','7','6','5','4','3','2'}
输入n
for i=0 to n {
输入字符串到a[i];
end} for i=0 to n{
for j=0 to 17 {
判断a[i][j]中是否有不是数字的字符,有的话输出a[i],且count++,flag=1,break
end }
if (flag){flag=0;continue; }//直接判断下一个身份证
for j=0 to 17 {
sum+=quan[j]*(a[i][j]-'0');
end }
判断z[sum%11]!=a[i][17]为真printf("%s\n",a[i]);count++;
sun=0;//重置sum=0
end}
如果count==0则 printf("All passed\n");
end

3.代码截图

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

这道题我题目都看不懂,不知道权是什么,后来百度了这道题,参考了网上的代码后发现了用二维数组储存字符的用法,且十分快捷,如定义一个二维数组a[i][j],我们要是要输入一个字符数组时可以直接数到a[1]中,则这些字符就储存于a[1][j]中,调用或者输出也可以直接a[i]来使用,十分快捷。且用在这道题十分的方便。

题目2:7-6 Jack cheng的烦恼2

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

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

3.代码截图

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

这题我很快就有了大部分的思路,但是提交后却总是7分,后来我更改了方法,原先是用A做为标志来判断是否

输入对的符号,后来我是用来记录输入的个数,接下来输入的正确的话则减去。最后得到了正确结果,但是我

有一个疑问,就是{(})实际上是错的但是我的代码运行是对的,且测试点也通过了。

题目3:7-7 删除字符串中的子串

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



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

 定义变量i,j,l,k及数组S1[99],S2[99]
gets(S1) gets(S2);//输入数组S1,S2
for(i=0;S1[i]!='\0';i++){
for(j=i,k=0;S1[j]==S2[k];j++,k++){//当字符相等时开始进入循环
如果S2[k+1]=='\0'
for(l=i;S1[l]!='\0';l++){
S1[l]=S1[l+k+1];//将删除后的字符存放如原来的字符中
end}
S1[l]='\0';i=-1;
end}
end}
输出字符数组S1

3.代码截图

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

第一就是判断含有子串的问题,原先我把题目想的很复杂,也不知道怎么判断是否存在子串,后来恰巧在

课堂派上老师讲解了这类题目, 且for(j=i,k=0;S1[j]==S2[k];j++,k++)这个表达式是十分新颖的,还有遇到的

第二个问题是在删除了数组后重新定义i的时候我把它定义成了0,但是我忽略了这实在一个循环里头,当重

新定义后会使i+1所以应该为-1,这是一个小细节,但是我相信这也是这类题目的小陷阱所以很有意义。

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

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

1.互评同学名称

徐宏伟

2.我的代码、互评同学代码截图(此处截图核心代码就好,不一定截图全部代码,图上指明是谁的代码。)

徐宏伟:

陈张鑫:

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

我和他代码不同之处在于输入多行身份证的方法,他是运用一个外循环将代码多次输出,而我是运用二维数组可以直接输入

也可以直接输出,如你要输出第i串可以直接用a[i],当对一串字符中的元素进行处理时就可以用a[i][j],所以我觉得这种方法

很巧妙!

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

1.你学会了什么?

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

   int *p   char*p

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

    运用在数组的位置变化,如P+2表示p在内存中前移两个int的距离。   2个指针变量不能相加

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

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



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

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

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


int *a[i] *a+i

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

char *a[i]

char *a=" asdfsaf" 初始位置在a[0]

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

好处是相当于全局变量 可以返回多个值

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

对于地址的了解不是很深,对于指针与地址相联系时还是不太熟练地使用,还是需要多花点时间来巩固一下。

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

这题其实是指针没赋值

这道题是a是常量不能自增

这题是地址向前进了一位,而我误以为是数组第一个数数值加1

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

基本上都已经掌握了

3.数组上机考试小结

3.1 那题错了,请罗列?

7-3 jmu-c-输出字符间的字符子串

7-4 数组元素的删除(15 分)

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

7-3 我是在一个点就是相同的字符,我在上级时2完全不知道什么意思....,后来出来后才知道是如 adfsaa a a 这样的情况。后来调试一下就可以了,还是题目理解部透彻。

7-4 是我时间不够没时间调试了。回宿舍后完成了这题。

C语言博客作业--字符数组-陈张鑫的更多相关文章

  1. C语言博客作业—字符数组

    一.PTA实验作业 题目1:字符串转换成十进制整数 1. 本题PTA提交列表 2. 设计思路 (1)定义i为循环变量,number用于存放每一次转化的结果,flag用于判断是否为负数,p用于修改结果的 ...

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

    一.PTA实验作业 题目1:统计一行文本的单词个数 1. 本题PTA提交列表 2. 设计思路 Begin 定义字符型变量ch,pre=' ': 定义整型变量count://用来记录单词个数 count ...

  3. C语言博客作业字符数组

    一.PTA实验作业 7-12 IP地址转换 本题PTA提交列表 设计思路 3.代码截图 7-7删除字符串中的子串 本题PTA提交列表 设计思路 定义字符型数组s[81]储存主串,sub[81]储存子串 ...

  4. C语言第二次博客作业---分支结构 陈张鑫

    一.PTA实验作业 题目1:计算分段函数[2] 本题目要求计算下列分段函数f(x)的值: 1.实验代码 int main(){double x,y; scanf("%lf",&am ...

  5. C语言第八次博客作业--字符数组

    一.PTA实验作业 题目1:查验身份证 1. 本题PTA提交列表 2. 设计思路 定义i,flag=1,z,m[11],a[19] 输入次数n for i=1 to n+1 gets(a) 加权求和在 ...

  6. C语言博客作业04——数组

    1.本章学习总结 1.1思维导图 1.2本章学习体会及代码量 1.2.1学习体会 这几周学习了数组,数组分为三大块:一维数组.二维数组和字符数组.数组相对于之前普通变量的好处就是可以储存数值,方便数据 ...

  7. C语言博客作业4——数组

    0.展示PTA总分 一维数组 二维数组 字符数组 1.本章学习总结 1.1学习内容总结 一维数组知识点: 无论是对一维数组还是二维数组进行应用时,我们对其下标的应用十分广泛. 1:一维数组的输入和遍历 ...

  8. C语言博客作业04数组

    0.展示PTA总分 1.本章学习总结 1.1 学习内容总结 1.int a[10];为定义数组,表示数组有10个数 2.数组的下标都是从0开始,到n-1结束 3.数组里元素的个数不能大于数组的长度 4 ...

  9. C语言博客作业04—数组

    0.展示PTA总分(0----2) 展示3张关于"数组题目集"分数截图. 1.本章学习总结(2分) 1.1 学习内容总结 整理数组这章学习主要知识点,必须包含内容有: (1)数组查 ...

随机推荐

  1. JS对select动态添加options操作(主流浏览器兼容)

    之前项目中,遇到一个表单提交的页面,里面有多级下拉框联动的复杂逻辑,因此当时在做的过程中也是学到了不少容易出现问题的地方,下面就整理下当时遇到的一些关于下拉框的操作,并指出其中的一些注意点和坑: 有如 ...

  2. 【原】storm组件(架构层面)

    Strom集群遵循从主模式,主与从之间通过Zookeeper协作.架构层面上包括三个组件: 1) Nimbus Node 2)Supervisor Nodes 3)Zookeeper 其中Nimbus ...

  3. Python爬虫之模拟登录微信wechat

    不知何时,微信已经成为我们不可缺少的一部分了,我们的社交圈.关注的新闻或是公众号.还有个人信息或是隐私都被绑定在了一起.既然它这么重要,如果我们可以利用爬虫模拟登录,是不是就意味着我们可以获取这些信息 ...

  4. javaScript替换元素节点

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  5. Luogu3527:[POI2011]MET-Meteors

    题面 Luogu Sol 整体二分 比较简单,当练手题 每次树状数组统计 # include <bits/stdc++.h> # define RG register # define I ...

  6. ES6学习总结一(变量;箭头函数;解构赋值)

    一.变量 var  1 可以重复声明(var a=1;var a=7;)(一开始用着会觉得限制很少,但是在大型项目会麻烦,人多嘴杂的时候定义重复了就容易出问题还不好找) 2 无法限制修改 3 没有块级 ...

  7. JVM垃圾收集器&对象的引用回收

    1.介绍垃圾收集器 垃圾收集器(Garbage Collection,GC)就是用于回收方法区和堆区,其他程序计数器.虚拟机栈.本地方法栈这3个区域都是随线程而生,随线程而灭,栈中的栈帧会随着方法的进 ...

  8. CentOS 远程桌面相关服务安装笔记

    # CentOS 7安装图形界面 sudo yum groupinstall "GNOME Desktop" "Graphical Administration Tool ...

  9. IntelliJ IDEA 源值1.5已过时,将在未来所有版本中删除

    1. 修改Maven的Settings.xml文件添加如下内容 <profile> <id>jdk-1.8</id> <activation> < ...

  10. Python功能键

    swapcase ,大小写翻转 title,每个单词首字母大写 upper,全部大写 lower,全小写 center,居中(可填充符号) lstrip,去除首尾空格斜杠符号 find,寻找出现的位数 ...