第三次作业

作业要求一
2 课上疑点:讨论查阅分析 struct sk{int a; char str)}p; p->str++ 中的++ 加向________?
答:加向str。
作业要求二
题目1查找书籍中最高价及最低价
1 设计思路
(1)主要描述题目算法。
第一步:写好基本结构,然后写好书籍的结构体。
第二步:输入n的值,然后用for循环输入所要查找书籍的相关信息。
第三步:定义两个变量,利用for循环在其中找出最大最小值,然后复值给这两个变量,然后分别输出相关信息就行。

(2)流程图

2.实验代码

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct book
{
  char name[31];//名字中有空格,所以最好多加一些
  double cost;
}s[10];
main()
{
  int i,n;
  scanf("%d",&n);

  for(i=0;i<n;i++)
  { 
     scanf("
"); 
     gets(s[i].name);  
     scanf("%lf",&s[i].cost);  
  }
  int max=0,min=0;
  for(i=1;i<n;i++)
   {
     if(s[i].cost>s[max].cost){max=i;}
     if(s[i].cost<s[min].cost){min=i;}
   }
   printf("%.2f, %s
",s[max].cost,s[max].name);
   printf("%.2f, %s",s[min].cost,s[min].name);
   system ("pause");
}

3.本题调试过程碰到问题及解决办法
答:在第一次完成之后就显示答案错误,然后找了许久才发现原因。因为定义名字的时候(char name[31])没有算上‘’的位置,经过改正就对了。

计算平均成绩
1 设计思路
(1)主要描述题目算法。
第一步:写好基本框架,然后定义学生信息的结构体。
第二步:定义个n人和分数总和sum,然后用for循环输入n个学生的基本信息和累加n个学生的成绩。之后计算出平均成绩值。
第三步:利用for循环找出成绩低于平均分的同学,然后输出相关信息。

2.实验代码

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct student
{
  char name[10];
  char num[5];
  int score;
}s[10];
main()
{
  int i,n;
  float sum=0,ave;
  scanf("%d",&n);
  for(i=0;i<n;i++)
  {
    scanf("%s %s %d",s[i].num,s[i].name,&s[i].score);
    sum=s[i].score+sum;
  }
  ave=sum/(n*1.0);
  printf("%.2f
",ave);
  for(i=0;i<n;i++)
  {
    if(s[i].score<ave)
    {
      printf("%s %s
",s[i].name,s[i].num);
    }
  }
  system("pause");
}

3.本题调试过程碰到问题及解决办法
答:这题比较简单,没有问题。

题目1查找书籍中最高价及最低价
1 设计思路
(1)主要描述题目算法。
第一步:编写函数,利用for循环再用if,else if来找出不同的年龄段。并且计数分数在六十分以下的人数sum。
第二步:返回sum的值。
2.实验代码

int set_grade( struct student *p, int n )
{
  int i,sum=0;
  for(i = 0; i < n; i++,p++)
  {
    if(p->score>=85){p->grade='A';}
    else if(p->score>=70){p->grade='B';}
    else if(p->score>=60){p->grade='C';}
    else {p->grade='D';sum++;}
  }
  return sum;
}

3.本题调试过程碰到问题及解决办法
要求三、学习总结和进度
1>:指针与结构作业中题目所使用的知识点:
对于结构体的函数调用则跟普通函数调用一样,将类型说明换成结构体类型。

1.指针中代表取地址符,即一个指针变量加上相当于一个变量

2.指针表达式可以加或减一个整型数据,使指针指向下一个存储单元。

3.一般定义指针时都会先把指针定义为空指针NULL。

4.字符型指针可以直接赋值字符串,不过指针存储的是字符串的第一个字符的地址。

5.所以不能使用strcpy将字符串直接复制到另一数组中,

6.链表一般是结构体指针,注意插入链表和拆分链表。

2>,将PTA作业的源代码使用git提交到托管平台上,
我的git代码为:
https://git.coding.net/AI1452349541/H.K.2.2.git

热爱每一天
原文地址:https://www.cnblogs.com/blueblog6/p/8909089.html