一、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才是正确
