博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言结构体作业
阅读量:4966 次
发布时间:2019-06-12

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

一、PTA实验作业

题目1:6-3 结构体数组中查找指定编号人员

1. 本题PTA提交列表

1232226-20171223214337975-1620892015.png

2. 设计思路

定义一个结构体指针*pfor i=0 to i=7     如果std+i的编号与输入的编号一样     将std+i的地址传给pend for返回p

3.代码截图

1232226-20171223214348396-1815468251.png

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

  • 无错误

题目2:7-2 时间换算

1. 本题PTA提交列表

1232226-20171223214402506-956379143.png

2. 设计思路

定义结构体数组Time,其内容包括时,分,秒定义一个字符ch,增加的秒数n,结构体变量time输入time和n如果time中的秒数加上n大于等于60   time.s加上n后再减去60  time的分钟数加上1否则   time.s加上n如果time中的分钟数大于等于60    time.m减去60   time的小时数加上1如果time的小时数等于24    time.h减去24输出结果

3.代码截图

1232226-20171223214409865-863995072.png

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

  • 秒数加上n后大于等于60就再减去60,但是我第一次做的时候忘了加上n后没大于等于60的情况,这时候是要加上n但是不用减去60的

题目3:7-6 通讯录的录入与显示

1. 本题PTA提交列表

1232226-20171223214417865-325660276.png

2. 设计思路

定义一个结构体变量person,内容为姓名 生日 性别 固话 手机定义整型变量n,k,num,输入n,定义结构体数组friends[n]for  i=0 to i=n-1            输入结构体数组的所有变量end  i输入kfor  j=1  to  j=k       输入num       如果num小于n且大于等于0    输出friends[num]的姓名 固话 手机 性别 生日       否则  输出Not Foundend  j

3.代码截图

1232226-20171223214428865-1352227755.png

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

  • 我定义的性别是个字符,在输入性别后,要有一个getchar()来吸收空格,否则空格就会被性别吸收
  • 在最下面j的循环中,要在num大于等于0且小于n的情况下输出,但是我做的时候没注意,写的小于等于n,在devc上按pta的错误点调试也没错,我试了很多次后只好去看自己的代码,这才发现我的错误

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

1232226-20171223214439068-1048241219.png

三、阅读代码

1:一帮一

  • 题目描述:输入第一行给出正偶数N(<=50),即全班学生的人数。此后N行,按照名次从高到低的顺序给出每个学生的性别(0代表女生,1代表男生)和姓名(不超过8个英文字母的非空字符串),其间以1个空格分隔。这里保证本班男女比例是1:1,并且没有并列名次。
    每行输出一组两个学生的姓名,其间以1个空格分隔。名次高的学生在前,名次低的学生在后。小组的输出顺序按照前面学生的名次从高到低排列。
  • 1232226-20171224141433350-1384729841.png
  • 此代码使用结构体来表示学生 ,下面的循环先输出前一半的学生,然后从后面开始寻找与之配对的学生,数组b的功能是来判断对应的学生是否已经退出
  • 首先,题目中学生信息包括姓名的性别,用结构体表示更加方便简洁;这个代码先输出前半的学生,然后巧妙地运用了数组b来避开已经输出过的学生

2:斐波那契数列

  • 1232226-20171224145508225-365611611.png
  • 该函数功能是输出斐波那契数列
  • 通过递归函数,简单实现斐波那契数列的计算,使代码精简易懂,但是递归次数过多也容易造成栈溢出。

四、本周学习总结

1.总结本周学习内容。

1、结构体、共用体、枚举这种构造数据类型特点。
  • 结构体和数组一样都是构造型数据类型,和数组不同的是,结构体可以处理不同类型的数据。结构体里还可以有结构体类型、共用体的类型的数据。
  • 共用体是一种多变量共享存储空间的构造类型,它允许几种不同的变量共用同一存储空间。共用体和结构体的区别:
    1.结构体每一位成员都用来表示一种具体事务的属性,共用体成员可以表示多种属性(同一存储空间可以存储不同类型的数据)。
    2.结构体总空间大小,等于各成员总长度,共用体空间等于最大成员占据的空间。
    3.共用体不能赋初值。
  • 枚举类型是指变量的值可以全部列出,定义一个枚举变量后,变量的值确定在定义之中。它和结构体、共用体的区别在于,枚举元素是常量,只能在定义阶段赋值。

    2、递归函数原理
  • 递归是把一个不能或不好解决的大问题转化为一个或几个小问题,再把这些小问题进一步分解成更小的问题,直至每个小问题都可以直接解决。
  • 递归算法的实质:是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过程)来表示问题的解。
  • 递归算法解决问题的特点:

     (1) 递归就是在过程或函数里调用自身。
     (2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。
     (3) 递归算法解题通常显得很简洁,但递归算法解题的运行效率较低。所以一般不提倡用递归算法设计程序。
     (4) 在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。所以一般不提倡用递归算法设计程序。

    2.罗列本周一些错题。

  • 1、1232226-20171224135943678-1803046428.png
    这题其实很简单,但我做的时候没仔细看,把加看成乘,所以以为到0的时候返回0,乘以0就等于0;事实上,这是加法,答案应该是10
  • 2、1232226-20171224140143443-683819771.png

    这题我没注意思考,以为最后到7的时候输出完就没了,事实上,每一次计算都要输出一次

转载于:https://www.cnblogs.com/wyb123/p/8094547.html

你可能感兴趣的文章
笔记:git基本操作
查看>>
生成php所需要的APNS Service pem证书的步骤
查看>>
JavaWeb之JSON
查看>>
HOT SUMMER 每天都是不一样,积极的去感受生活 C#关闭IE相应的窗口 .
查看>>
windows平台上编译mongdb-cxx-driver
查看>>
optionMenu-普通菜单使用
查看>>
MVC3分页传2参
查看>>
2016-2017-2点集拓扑作业[本科生上课时]讲解视频
查看>>
appium(13)- server config
查看>>
IIS负载均衡-Application Request Route详解第六篇:使用失败请求跟踪规则来诊断ARR...
查看>>
管理信息系统 第三部分 作业
查看>>
[Leetcode Week13]Search a 2D Matrix
查看>>
查看端口占用cmd命令
查看>>
2019.01.17王苛震作业
查看>>
清除浮动
查看>>
PayPal(贝宝)支付接口、文档、IPN
查看>>
ORACLE 10G R2_执行计划中cost cardinality bytes cpu_cost io_cost解释
查看>>
本地存储
查看>>
MP3的播放与停止
查看>>
牛客(59)按之字形顺序打印二叉树
查看>>