第三次作业

要求一

课上疑点:讨论查阅分析 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("\n"); 
     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\n",s[max].cost,s[max].name);
     printf("%.2f, %s",s[min].cost,s[min].name);
system("pause");
}

 


3.本题调试过程

题目2 计算平均成绩

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

第四步:计算平均值,判断输入的成绩与平均值的比较,输出低于平均值成绩的姓名以及成绩信息。

(2)流程图


2.实验代码

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

 


3.本题调试过程

要求三、学习总结和进度
1、指针与结构作业中题目所使用的知识点

结构体数据类型的定义及其引用,其中使用指针进行。
2、源代码使用git提交

截图:

链接:https://coding.net/u/linmeng123/p/moshi000/git

 

posted on 2018-04-22 14:29  linmenga5  阅读(139)  评论(0编辑  收藏  举报

导航