博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C博客作业--指针
阅读量:6606 次
发布时间:2019-06-24

本文共 1624 字,大约阅读时间需要 5 分钟。

一、PTA实验作业

题目1:统计大于等于平均分人数

1. 本题PTA提交列表

1233767-20171217121426046-1798166318.png

2. 设计思路

定义形参*s存放s的首地址,n存放人数m的值,*aver存放平均分aver的地址    定义i控制循环,count用来统计高于等于平均分的学生人数    定义浮点型指针*p让p=s存放数组s的首地址        for i=0 to n {        aver累加p指针指向的单元格内的值统计出所以学生成绩总分         }         aver除以人数n算出平均分        p=s将p指针重新指向s数组第一个地址        for i=0 to n {        如果指针p指向单元格内的数据大于平均分aver则count自增             }         返回count的值

3.代码截图

1233767-20171217121434624-405758447.png

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

刚刚开始直接拿s指针来做递增,导致做完统计总分的那个循环后就不知道s的首地址在哪了 解决办法:重新定义一个指针p让p=s,然后用p来做自增,这样就可以不改变s指向的地址,从而知道首地址在哪了。

题2:过滤字符串只保留串中的字母字符

1. 本题PTA提交列表

1233767-20171217125503530-247787396.png

2. 设计思路

定义函数名为fun的无返回型函数,定义字符型指针*p接受字符串str的首地址  定义i控制变量 max存放最大ASCII码值的下标     for i=0 to p[i]!='\0' {    当i=0时max=0    如果有p[i]的ASCII码值大于p[max] 的ASCII码值 则max=i记录下标   }    定义一个temp作为换位置的桥梁  temp=p[max]     for i=max to 0 {    把p[i]的值换为p[i-1]//逐个往后推一位   }    p[0]=temp

3.代码截图

1233767-20171217125511936-807172089.png

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

  • 刚刚开始不知道ASCII码值如何比较 解决办法:使用强制类型转换比较大小,不知道还有没有其他办法,想学习一下。

题目3:输出月份英文名

1. 本题PTA提交列表

1233767-20171217123357702-1666351093.png

2. 设计思路

1233767-20171217124846202-737040023.png

3.代码截图

1233767-20171217123405999-1089794500.png

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

  • 部分错误 解决办法:八月份的英文打错了....
  • 刚刚开始是把十二个月的英文名存在一个字符串内,用指针递增的办法,但是最后没能实现 解决办法:想到之前用过switch的分支法就用这个来实现了,但是还是希望能看到有同学用存在字符串内的办法,让我学习学习。
  • 虽然pta对了,但是我还是想问一下这堆警告是什么1233767-20171217125612858-1347402052.png

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

1233767-20171217132053311-521897507.png

三、阅读代码

1.

1233767-20171217130721983-879636956.png

这是彭希的第八题,做法简洁明了,直接把t字符串的从第t+m-1个单元赋给s字符串就行了,为了比较我贴一下我之前的做法吧,而且这是没有全过的做法

1233767-20171217131557702-1485625944.png

2.

1233767-20171217132507452-2023329937.png

该题要求实现循环报数,如何依次把报到m的人除去组内,如何最后输出每个人出去的顺序数。这题我一开始是没有思路的,看了志湖同学的代码才有思路,在循环内放如三个分支判断,比较形象的呈现报数的过程。

四、本周学习总结

1.自己总结本周学习内容。

  • 指针:不懂函数调用时函数名前加个号和不加号的区别
  • 结构体:感觉很方便,把一些数据归类在一个结构体内,像是处理一个人的数据,很神奇
  • 库函数:很方便,但是目前还不太会用,也记不住名字和功能,应该多使用多熟记

2.罗列本周一些错题。

(1)

1233767-20171217134605030-1494421528.jpg

1233767-20171217134611889-389684292.jpg

这题主要不会toupper函数的用法,现在知道了toupper函数可以把小写字母转换为大写字母 另外tolower可以把大写字母转换为小写字母

(2)

1233767-20171217134914202-1928589327.jpg

1233767-20171217134921077-509822656.jpg

这题没读懂题意,题目要求的是把数字类型的字符转换成整型相加返回,所以sum=sum+*s-‘0’既转换了类型又累加了数字

转载于:https://www.cnblogs.com/Littleweii/p/8050087.html

你可能感兴趣的文章
Tinkphp
查看>>
How to temporally disable IDE tools (load manually)
查看>>
Vue.js学习 Item4 -- 数据双向绑定
查看>>
几种排序方式的java实现(01:插入排序,冒泡排序,选择排序,快速排序)
查看>>
图片存储类型的种类、特点、区别
查看>>
GETTING UP AND RUNNING WITH NODE.JS, EXPRESS, JADE, AND MONGODB
查看>>
MySQLs数据库建外键时自动跑到缩影处,真奇怪
查看>>
static关键字
查看>>
js 合并多个对象 Object.assign
查看>>
Java 反射机制
查看>>
Unity 碰撞检测中碰撞器与触发器的区别
查看>>
初识java
查看>>
temporary Object and destructor
查看>>
xcode - 移动手势
查看>>
细说浏览器特性检测(1)-jQuery1.4添加部分
查看>>
古中国数学家的计算力真是惊人
查看>>
Java基础-算术运算符(Arithmetic Operators)
查看>>
C#编程(四十七)----------集合接口和类型
查看>>
【转】关于大型网站技术演进的思考(十二)--网站静态化处理—缓存(4)
查看>>
积跬步,聚小流------Bootstrap学习记录(1)
查看>>