一、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. AI CV 会议2018

    (1) NIPS,  Conference and Workshop on Neural Information Processing Systems, A类顶会 1987年由联结主义学派创建,每年一 ...

  2. linux三剑客之一grep

    正则表达式(Regular Expression) 目录 起源 正则表达式是什么? 两类基本正则表达式 正则表达式元字符 Linux上文本三剑客 小试牛刀 总结 一.起源   正则表达式这个名词,相信 ...

  3. [Luogu2973][USACO10HOL]赶小猪

    Luogu sol 首先解释一波这道题无重边无自环 设\(f_i\)表示\(i\)点上面的答案. 方程 \[f_u=\sum_{v,(u,v)\in E}(1-\frac PQ)\frac{f_v}{ ...

  4. canvas练手项目(一)——选取图片

    今天无事可做,在春意盎然的下午突发奇想想做一个关于图片处理的在线网页应用.不要问我为什么做这个,因为我想做!关于这个项目,我想基于canvas来实现,canvas是个好东西,我一直很喜欢,就是我没有做 ...

  5. c#开发wps插件(2)

    上一篇,我们谈了插件开发原理,现在该是应用原理的时候了.工欲善其事必先利其器,首先安装wps 2016专业版,然后再开发. 第一步:打开vs2010,新建一个类库项目,项目结构如下: 说明:其中Res ...

  6. 关于CoordinatorLayout的用法——复杂交互的克星

    好久没有写博客了,主要还是任务过多哈.在开发的过程当中,也记录了很多东西,但是技术这个事吧,其实,时效性真的事非常强--就比如说,你昨天还津津乐道的一个难点解决方案,你过个几天再回过头去看它,就会有一 ...

  7. imageview无法显示图片:java.lang.RuntimeException: Canvas: trying to draw too large(281520000bytes) bitmap

    图片太大需要压缩. 压缩方法:http://jingyan.baidu.com/article/cdddd41c3ef41153ca00e162.html 如果特别大(几十M),可以先用在线的图片压缩 ...

  8. NancyFX 第六章 视图引擎

    正如其他的Web工具包,Nancy也有视图的概念,用来描述在浏览器上看到的输出 视图的定义 你可能没有之前没有接触过"视图"的概念,或是仅仅是从其他工具包例如ASP.NET MVC ...

  9. Python 常用命令

    对Python进行软件的安装.卸载和查看,是我们在日常工作中经常要做的事情,有的时候会突然忘记常用的命令,所以在此记录下来: pip 安装软件包 pip install xxx 卸载软件包 pip u ...

  10. Json技术使用代码示例

    json格式细节1 JSON(JavaScript Object  Notation)一种简单的数据格式,比xml更轻巧.JSON是JavaScript原生格式,这意味着在JavaScript中处理J ...