zoukankan      html  css  js  c++  java
  • 第三次作业

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

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

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

    2.实验代码

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    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<n;i++)
     	{
     		scanf("%s %s %lf",&s[i].num,&s[i].name,&s[i].s);
    	 }
    	 for(i=0;i<n;i++)
    	 {
    	 	aver= aver + s[i].s;
    	 }
    	 aver=aver/n;
    	 printf("%.2f
    ",aver);
    	 for(i=0;i<n;i++)
    	 {
    	 	if(s[i].s<aver)
    	 	{
    	 	printf("%s %s
    ",s[i].name,s[i].num);
    	 }
    }
    	 return 0;
     }
    

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

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

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

  • 相关阅读:
    (转载)Android xml资源文件中@、@android:type、@*、?、@+引用写法含义以及区别
    Android事件分发和消费机制(转载)
    Android动画及滑动事件冲突解决(转载)
    写在学习Oracle之前
    laragon yii
    ubuntu使用bower install问题汇总
    LNMP架构下访问php页面出现500错误
    form表单提交无页面刷新(非js)
    Firefox浏览器无法安装插件的解决
    完美解决 Ubuntu 下 Sublime Text 2配置搜狗拼音输入法
  • 原文地址:https://www.cnblogs.com/WeiPeng-wuban/p/8869634.html
Copyright © 2011-2022 走看看