码迷,mamicode.com
首页 > 编程语言 > 详细

C语言博客作业--结构体

时间:2017-12-25 00:44:33      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:递归   返回   数据   分享图片   change   数值   logs   时间换算   str   

一、PTA实验作业

题目1:6-4 结构体数组按总分排序

1. 本题PTA提交列表

技术分享图片

2. 设计思路

struct student                  
{
int num;
char name[15];
float score[3];
float sum;
};//结构体student,带有num,name,score,sum变量

void calc(struct student *p,int n)
{
  定义整型变量i用于循环
  for i=0 to  i<n   i++,p++
    p->sum=(p->score[0])+(p->score[1])+(p->score[2])对各分数进行相加 
  end
}

void sort(struct student *p,int n)
{
  定义整型变量i,j用于循环,temp用于赋得大值的下标
  struct student change定义结构变量change用于交换 
  for i=0 to i<n  i++选择排序法 
    temp=i
      for j=i+1 to j<n  j++
          若p[j].sum >p[temp].sum
              则temp=j;
     change=p[temp];
     p[temp]=p[i];
     p[i]=change; //交换
  end
}

代码截图

技术分享图片

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

技术分享图片

数据有进行调换但是调换一部分正确一部分不正确

技术分享图片

自己调试后发现是条件的设定有问题

自己对条件的设定进行修改为if(p[j].sum >p[temp].sum )后才输出正确

题目2:7-2 时间换算

1. 本题PTA提交列表

技术分享图片

2. 设计思路

struct time{
  int hour;
  int minute;
  int second;
};//定义结构time,带有小时,分钟,秒变量

主函数:
  struct time s定义结构变量s
  定义整型变量n用于存放整秒数,hour,minute,second用于存放计算后的小时,分钟,秒值
  输出hour,minute,second的值
  输入n的值
  second=(s.second+n)%60;//计算秒的输出数值
  minute=(s.minute+(s.second+n)/60)%60;//计算分钟的输出数值
  hour=s.hour+(s.minute+(s.second+n)/60)/60;//计算小时的输出数值
  若hour=24是,即超过23:59:59就从0点开始计时
    hour=0把0赋给hour
  输出hour,minute,second的值

3.代码截图

技术分享图片

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

技术分享图片

自己的计算式子一开始不正确,自己尝试用数据代入思考就发现问题

技术分享图片

后自己就引入变量存放最终数值

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

1. 本题PTA提交列表

技术分享图片

2. 设计思路

struct imformation{
  char name[100];
  char birthday[100];
  char sex;
  char ch[100];
  char sh[100];
};//定义结构体信息,带有变量名字,生日,性别,固定电话,手机

主函数:
  struct imformation s[100]定义结构体数组
  int i,j,N,K,num定义循环变量i,j,N、K用于输入数据的数量,num用于赋予后面查找的数
  输入N的值
  for i=0 to i<N i++
   输入一系类值对结构体数组赋值
  end
  输入K的值
  for j=0 to j<K j++
      输入num的值
      当num>=0且num<N即找到时
          按要求输出第N+1组数据
      否则
          输出Not Found 
   end

3.代码截图

技术分享图片

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

技术分享图片

自己在一开始打代码输出正确后就提交到pta,但是pta显示部分正确

技术分享图片
技术分享图片
技术分享图片

一开始自己以为是数组长度的问题,但是改大之后还是部分正确,但是自己的数组已经完全足够

自己用错误点Dev-c++调试运行感觉没错误,在阅读别人代码后,发现他们的代码与自己的较大区别就是在出生这里

他们直接以定义字符串的形式存放所有,而自己是分别定义年月日的整型变量

自己用他们的方法重新定义后发现pta才全部正确,但是感觉自己原先的定义方式输出也正确,没觉得有多大不同

为什么用字符串的定义才全部正确?

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

技术分享图片

三、阅读代码

四、本周学习总结

1.总结本周学习内容

结构体、共用体、枚举这种构造数据类型特点

递归函数原理

2.罗列本周一些错题

技术分享图片
技术分享图片
技术分享图片

指针的赋初值方法

技术分享图片

A才是正确

技术分享图片

自己以为在执行一次后会直接输出,但是递归是传递再归,最后的输出语句其实是在执行好convert函数后才逐渐返回原样输出

C语言博客作业--结构体

标签:递归   返回   数据   分享图片   change   数值   logs   时间换算   str   

原文地址:http://www.cnblogs.com/linxiaolu/p/8094370.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!