代码改变世界

第三次作业

2018-04-23 20:39  史晨宇  阅读(186)  评论(2编辑  收藏  举报

作业要求一 (20分)
1 完成PTA结构部分编程1和2,采用函数编程3
2 课上疑点:讨论查阅分析  struct sk{int a; char *str)}*p;   p->str++ 中的++ 加向________?  答:p中字符指针str

作业要求二(60分)

题目1查找书籍中最高价及最低价

题目2 计算平均成绩
1 设计思路(6分)
(1)主要描述题目算法(1分)。可以用文字描述(不允许使用伪代码),如:
第一步:在程序中建立所需的结构体类型,定义结构体数组,书名,价格。
第二步:利用for循环输入要比较的书籍本书,书名和价格。
第三步:实现数据输入后,在同一个for循环中进行价格高低的比较。找到最高及最低的价格后按要求输出。
(2)流程图(4分)
2.实验代码(2分)

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct book
{
  char name[31];
  double cost;
};
main()
{
  struct book s[10];
  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);
   
}


3.本题调试过程碰到问题及解决办法(12分)
错误信息采用以下格式
错误信息1:(可以截图表示)
   错误原因:未调用数据库这个玩意  #include<string.h>

   改正方法:照着同学加上的

题目2 计算平均成绩
1 设计思路(6分)
(1)主要描述题目算法(1分)。、

第一步:在程序中建立所需的结构体类型,定义学生信息的结构体。
第二步:定义个n人和分数总和sum,利用for循环输入n个学生的基本信息和n个学生累加的成绩。计算出平均成绩值。
第三步:利用for循环找出成绩低于平均分的同学,输出相关信息。

2.实验代码(2分)

#include<stdio.h> 
#include<stdlib.h>
#include<string.h>
struct score{ char num[20]; char name[20]; double s; }; int main(){ struct score s[100]; int i,n; double sum=0,average; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%s%s%lf",&s[i].num,&s[i].name,&s[i].s); } for(i=0;i<n;i++){ sum=sum+s[i].s; } average=sum/n; printf("%.2f\n",average); for(i=0;i<n;i++){ if(s[i].s<average){ printf("%s %s\n",s[i].name,s[i].num); } } return 0; }

3.本题调试过程碰到问题及解决办法(12分)

   错误原因:未调用数据库这个玩意  #include<string.h>

   改正方法:照着同学加上的

要求三、学习总结和进度(20分)
指针与结构作业中题目所使用的知识点。(10分)

指针变量的定义、引用,指针与函数,指针与数组,指针与字符串