• 第三次作业


    作业要求一

    1.结构数组的定义可以放在结构体声明的后面,也可以放在函数中。但是放入函数中的时候要带关键字struct和结构体名以及结构数组名

    2.p->str++中的++加向p中的字符指针str

    3.C中对于结构体成员的两种引用方式:
            1)结构体变量.成员;
            2)结构体变量->成员;

    struct { int len; char str; } p;是个指针定义,p->str++必须加在之后的语句上,这一句不能加,属于语法错误。

    作业要求二

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

    1 设计思路
    (1)主要描述题目算法
    第一步:本题涉及到书名和价格,先在程序中建立所需的结构体类型。
    第二步:本题要找到书籍价格的最高价及最低价,首先要输入要比较的书籍本书,然后依次输入书名和价格,利用for循环。注意:单行输出要换行。
    第三步:实现数据输入后,在同一个for循环中进行价格高低的比较。找到最高及最低的价格后按要求输出。
    (2)流程图

    2.实验代码 

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    struct book{
    char name[50]; double price; }b[10]; int main(){ int n,i,min=0,max=0; scanf("%d",&n); for(i=0;i<n;i++){ scanf(" "); gets(b[i].name); scanf("%lf",&b[i].price); if(b[i].price>b[max].price){ max=i; } if(b[i].price<b[min].price){ min=i; } } printf("%.2lf, %s ",b[max].price,b[max].name); printf("%.2lf, %s ",b[min].price,b[min].name); return 0; }

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

    问题:可编译,但是不能正常运行

    解决:发现在if(b[i].price>b[max].price)处误打成了if(b[i].price>max),在同学的帮助下,进行了改正

    题目2 计算平均成绩

    1 设计思路
      (1)主要描述题目算法
    第一步:建立结构体类型,学号,姓名以及成绩。
    第二步:先定义所需的变量,然后按要求输入所需的数据

    第三步:利用for循环输入所有学生的学号,姓名,成绩。
    第四步:for循环求出所有同学的成绩总和,然后求出平均值。
    第五步:要求输出平均分以下学生的成绩,与平均值进行比较,低于平均成绩的进行输出。
    (2)流程图

     

    2.实验代码

    #include<stdio.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
    ",average);
       for(i=0;i<n;i++){
         if(s[i].s<average){
           printf("%s %s
    ",s[i].name,s[i].num);
           }
       }
       return 0;
    }

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


    在本体的编程中,是按照老师上课的思路来进行的编程,所以没有严重错误

    要求三、学习总结和进度

    1.指针与结构作业中题目所使用的知识点
    结构体类型数据的定义方法和引用方法。

    2.git截图:

    git地址:  https://git.coding.net/Iams/homework.git

  • 相关阅读:
    avr studio 的使用小记——有关cannot find ‘*.elf’ 的问题
    c程序存储空间布局
    c程序存储空间布局
    avr studio 的使用小记——有关cannot find ‘*.elf’ 的问题
    一个简单的makefile示例及其注释
    C语言编译过程总结详解 链接方式
    poj3480
    poj3508
    poj1287
    poj1502
  • 原文地址:https://www.cnblogs.com/woshisun/p/8886602.html
Copyright © 2020-2023  润新知