第三次作业

作业要求一
讨论查阅分析
struct sk{int a; char str)}p; p->str++ 中的++ 加向str
作业要求二
题目1查找书籍中最高价及最低价
1 设计思路
(1)主要描述题目算法
第一步:先构建一个结构体,定义书名name和价格cost。
第二步:定义输入书籍的个数,用if语句将书名和价格依次输入。
第三部:运用选择排序法,暂且定义i=0为最大值,将i=1,i=2之类的相比较,寻找出最大值,最小值同理。输出时注意分行,保留两位小数即可。
(2)流程图:第三次作业_第1张图片

2.实验代码:

#include
#include
#include
struct book
{
  char name[31];
  double cost;
};
main()
{
  struct book s[10];
  int i,n;
  scanf("%d",&n);
  for(i=0;is[max].cost){max=i;}
     if(s[i].cost

3.本题调试过程碰到问题及解决办法
错误信息:第三次作业_第2张图片
错误原因:没有考虑到输出n以后需要换行的问题,而且也没有将书籍名和价格分开来。
改正方法:请教了同学,加入了一个scanf的空格和gets就解决了问题。

题目2 计算平均成绩
1 设计思路
(1)主要描述题目算法
第一步:先构建一个结构体,定义num,name长度和双精度的成绩s。
第二步:定义需要输入学生的个数,平均成绩暂定义为零,然后再用if语句输出n个学生的num,name和成绩s。
第三部:计算平均成绩,保留两位小数输出,再用if语查找成绩低于平均成绩的,输出name和num。
(2)流程图:
第三次作业_第3张图片

2.实验代码

#include 
#include 
#include 
struct student
{
    char num[20];
    char name[20];
    double s;
 };
int main()
 {
    struct student s[1000];
    int i,n;
    double aver=0;
    scanf("%d",&n);
    for(i=0;i

3.本题调试过程碰到问题及解决办法
错误信息:第三次作业_第4张图片
错误原因:在成绩的定义中直接是考虑了有二位小数的情况,导致在输入的过程中输入成绩时会编译错误,如果只输入一个整数的话。
改正方法:先不必要在前面定义成绩的长度,再结构体的后面再定义即可。

要求三、学习总结和进度
1、指针与结构作业中题目所使用的知识点。
1.结构体的正确使用和输出定义的变量。
2.使用指针可以代替类似&s[i]的输入,在用到p->时,有明确的分层指向时,不必要写出两个界限,就如结构二中的题目一样。
2、将PTA作业的源代码使用git提交到托管平台上,要求给出上传成功截图和你的git地址。请注意git地址应是类似“https://git.coding.net/Dawnfox/wf4_2.git”这样的字符串且是可被访问者直接点击进行访问的链接。
截图:第三次作业_第5张图片

Git地址:https://git.coding.net/WP2017024114/test.git

你可能感兴趣的:(第三次作业)