一、PTA实验作业

题目1:6-5 判断回文字符串

1. 本题PTA提交列表

2. 设计思路

3.代码截图

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

  • 第一次做的时候我j直接等于count,其实j应该等于count-1,因为count是包括结束标志的字符串长度

题目2:6-10 字符串串动变化

1. 本题PTA提交列表

2. 设计思路

定义整型变量i,j,flag,字符型变量max
令max等于字符串第一个字符
i=1 until *(p+i)!='\0'
如果max小于*(p+i) 令max等于*(p+i) flag等于i
i + +
end for
j=flag to 1
*(p+j)等于它的前一位
j - -
end for
将max赋给指针所指第一个字符

3.代码截图

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

  • 第二个循环j大于等于1,我漏了个等于

题目3:6-11 报数

1. 本题PTA提交列表

2. 设计思路

定义整型变量count=0,i=0,j,flag=1,t=n,定义一个整形数组a[n]用来表示游戏的人
当i小于n时
a[i]=1;i++;
end
当t大于0时
j=0 to n-1
如果a[j]等于0,跳过下一步
count++
如果count=3
令a[j]等于0,count=0,out[j]等于flag,flag自增1,t自减一
end for
end

3.代码截图

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

  • 可能是字符数组做多了,我一开始不知道怎么想的,把flag的值赋为0,导致每一个结果都小了1
  • 一开始我做这道题时没有思路,不知道怎么下手(写了一个陷入了死循环的代码,可惜没截图,也忘了具体步骤了),后来我百度了一下想找点思路,发现可以用数组a[n]全为1来表示游戏中的人没有退出, 如果退出了,相应的数组的值就变为0,结合这一点,做这道题就容易多了

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

三、阅读代码

1、

  • 这是PTA上字符数组6-9的代码,功能是实现将句中所有单词的顺序颠倒输出即说反话
  • 这段代码是周四上机课欧阳同学的代码,这里使用了指针,通过指针的指向输出顺序颠倒的数组,这样会比新定义一个数组来存放颠倒后的数组更方便

2、

  • 该函数功能是查找子串在主串第一次出现的地址
  • 代码优点是把主串或子串为空的情况考虑进去了

四、本周学习总结

一、学到的知识

1、结构体的运用

1、定义一个结构体
  • struct 结构名 {

    类型名 结构成员名1;

    类型名 结构成员名2;

    类型名 结构成员名3;

    ······

    };

    !!!最后面的分号不能忘
2、结构变量初始化
  • 在定义时对其赋值

    如:struct student s1={101,"zhang",78,87,85};
3、结构变量成员的引用
  • 格式为:结构变量名 . 结构成员名(.为结构成员操作符)
4、结构变量做函数参数的优缺点
  • 优点:可以传递多个数据且参数形式较简单
  • 缺点:对于成员多的大型结构,参数传递时所进行的数据复制使效率较低
5、结构数组
  • 定义及初始化:例如:struct student students [50]={{101,"zhang",78,87,85},{102,"wang",72,89,86}};
  • 结构成员引用:格式为:结构数组名[ 下标]. 结构成员名(依然使用结构成员操作符.)
6、结构指针
  • 指针访问结构成员:(*p).num 或 p->num 均可
  • 指针做函数参数:
7、结构体个人总结
  • 学了结构体,我感觉它就像是一个我们自己创造出来的变量,我可以像操作整型变量和字符变量那样来操作,唯一不同的就是结构成员的使用了

错题

这里的函数是没有给返回值的,我做的时候不知道在想什么,最后居然用了return,大概是没完全搞懂函数的意思吧

这里有两个错误,一个和上面一样,另一个就是我的小失误了,我没注意到下面用的是n,所以写的时候用了m(这种小失误是没认真看题的后果)

C语言指针作业的更多相关文章

  1. C语言指针作业总结

    学号 姓名 作业地址 PTA实验作业5 PTA排名2 阅读代码2 总结1 代码规范 总分 是否推荐博客 推荐理由 32 **薇 http://www.cnblogs.com/linyiwei/p/80 ...

  2. 第二周c语言PTA作业留

    6-1 计算两数的和与差(10 分) 本题要求实现一个计算输入的两数的和与差的简单函数. 函数接口定义: void sum_diff( float op1, float op2, float psum ...

  3. BMP图像直方图均衡算法(C语言大作业)

    万丈高楼平地起 C语言大作业 一.学习笔记篇 1.学习MarkDown MarkDown注重写作本身,而非花俏的界面 编辑器:vscode 插件:Markdown,Markdown Preview 2 ...

  4. C语言指针转换为intptr_t类型

    1.前言 今天在看代码时,发现将之一个指针赋值给一个intptr_t类型的变量.由于之前没有见过intptr_t这样数据类型,凭感觉认为intptr_t是int类型的指针.感觉很奇怪,为何要将一个指针 ...

  5. [转]C语言指针学习经验总结浅谈

    指针是C语言的难点和重点,但指针也是C语言的灵魂 . 这篇C语言指针学习经验总结主要是我入职以来学习C指针过程中的点滴记录.文档里面就不重复书上说得很清楚的概念性东西,只把一些说得不清楚或理解起来比较 ...

  6. 不可或缺 Windows Native (7) - C 语言: 指针

    [源码下载] 不可或缺 Windows Native (7) - C 语言: 指针 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 指针 示例cPointer.h #i ...

  7. C语言指针学习

    C语言学过好久了,对于其中的指针却没有非常明确的认识,趁着有机会来好好学习一下,总结一下学过的知识,知识来自C语言指针详解一文 一:指针的概念 指针是一个特殊的变量,里面存储的数值是内存里的一个地址. ...

  8. (转载)c语言指针学习

    前言 近期俄罗斯的陨石.四月的血月.五月北京的飞雪以及天朝各种血腥和混乱,给人一种不详的预感.佛祖说的末法时期,五浊恶世 ,十恶之世,人再无心法约束,道德沦丧,和现在正好吻合.尤其是在天朝,空气,水, ...

  9. 关于C语言指针的问题

    在学习关于C语言指针的时候,发现这样一个问题,代码如下: #include<stdio.h> #include<stdlib.h> #include<string.h&g ...

随机推荐

  1. MFC与Webbrower交互(通过JS)

    最近修改老旧的MFC项目,用的网页做界面,和HTML交互采用的是COM方式,繁琐,丑陋又性能低,于是考虑利用js来进行界面交互,查了一天的资料,现在整理如下,供后来需要的人参考,虽然大概几乎不会有人用 ...

  2. 由js深拷贝引起的对内存空间的一些思考

    数据类型 js常用数据类型分为基本类型和引用类型 基本类型:null.undefined.数值型.字符串型.布尔型 引用类型:数组.对象 内存空间 var a = [1, 2, 3]; var b = ...

  3. [.NET]使用十年股价对比各种序列化技术

    1. 前言 上一家公司有搞股票,当时很任性地直接从服务器读取一个股票10年份的股价(还有各种指标)在客户端的图表上显示,而且因为是桌面客户端,传输的数据也是简单粗暴地使用Soap序列化.获取报价的接口 ...

  4. Nginx负载均衡——扩展功能(NGINX Plus)

    本文主要是介绍了NGINX Plus的相关功能,横跨了NGINX Plus R5/R6/R7/R9等各个不同版本的更新. 什么是NGINX Plus? 顾名思义,就是Nginx的加强版或者扩展版.我们 ...

  5. 【技术】关于安卓使用禁用服务(或者是MYANDROIDTOOLS里面的禁用服务)后卡在开机页面的(或者是卡在各种页面的)

    目前会出现禁用部分服务后卡在开机页面,导致到手机数据得全部清除在网上找了很久,都没找到还原的方法只好自己开垦新方案了推测:由于格式化DATA分区后,手机可以正常开机,所以认为禁用服务的配置内容保存在D ...

  6. Ubuntu14.04 设置wifi热点

    Ubuntu14.04 设置wifi热点 $ sudo add-apt-repository ppa:nilarimogard/webupd8 $ sudo apt-get update $ sudo ...

  7. PAT乙级-1043. 输出PATest(20)

    给定一个长度不超过10000的.仅由英文字母构成的字符串.请将字符重新调整顺序,按"PATestPATest...."这样的顺序输出,并忽略其它字符.当然,六种字符的个数不一定是一 ...

  8. 进程优化工具Process Lasso Pro 8.4官方版+激活破解方法

    Process Lasso是一款来自美国的系统进程优化工具,基于特殊算法动态调整进程的优先级别,通过合理的设置进程优先级来实现降低系统负担的功能.可有效避免蓝 屏.假死.进程停止响应.进程占用 CPU ...

  9. ps智能对象

  10. openstack的最简单安装

    环境:采用centos7.4,最低4g内存.大硬盘.内存小了会在安装过程中报错.整个过程大概2小时,看网速快慢,所有的节点和服务都安装在同一台机器上.   yum update -y yum inst ...