#include<stdio.h>
#include<stdlib.h>
#define MAX 100 typedef struct Book{
double no;
char name[MAX];
double price;
struct Book * next;
}Book,*BList;
//创建列表
void CreatList(BList &B)
{
//头插法创建单链表
B = (BList)malloc(sizeof(Book));
B->next = NULL;
BList rear = B;
while()
{
BList p = (BList)malloc(sizeof(Book));
scanf("%lf",&p->no);
scanf("%s",p->name);
scanf("%lf",&p->price);
if(p->no==&&p->name[]==''&&p->price==) break;
rear->next = p;
p->next = NULL;
rear = p; }
}
//遍历
void traverse(BList B)
{
BList p = B->next;
while(p)
{
printf("%.0f ",p->no);
printf("%s ",p->name);
printf("%.2f",p->price);
printf("\n");
p = p->next;
}
}
//获得平均值并返回其值
double getAvar(BList B)
{
BList p = B->next;
double sum=0.0;
int i = ;
while(p)
{
sum+=p->price;
p = p->next;
i++;
} return sum/i;
}
//按题意修改价格
void alter(BList &B)
{
BList p = B->next;
while(p)
{
if(p->price<getAvar(B)) p->price = p->price*(+0.2);
else p->price = p->price*(+0.1);
p = p->next;
}
} int main()
{
BList B;
CreatList(B);
printf("%.2f\n",getAvar(B));
alter(B);
traverse(B);
return ;
}

BJFU-216-基于链式存储结构的图书信息表的修改的更多相关文章

  1. BJFU—214基于链式存储结构的图书信息表的创建和输出

    #include<stdio.h>#include<stdlib.h>#define MAX 100 typedef struct bNode{ double no; char ...

  2. BJFU-215-基于链式存储结构的图书信息表的排序

    这里用的是冒泡排序 #include<stdio.h> #include<stdlib.h> #define MAX 100 typedef struct Book{ doub ...

  3. BJFU-217-基于链式存储结构的图书信息表的逆序存储

    这道题可以用头插法创建列表,然后正常输出: #include<stdio.h> #include<stdlib.h> #define MAX 100 typedef struc ...

  4. BJFU-218-基于链式存储结构的图书信息表的最贵图书的查找

    如果编译不通过,可以将C该为C++ #include<stdio.h> #include<stdlib.h> #define MAX 100 //创建节点 typedef st ...

  5. BJFU-206-基于顺序存储结构的图书信息表的修改

    #include<stdio.h> #include<stdlib.h> #define MAX 1000 typedef struct{ double no; char na ...

  6. javascript实现数据结构:线性表--线性链表(链式存储结构)

    上一节中, 线性表的顺序存储结构的特点是逻辑关系上相邻的两个元素在物理位置上也相邻,因此可以随机存取表中任一元素,它的存储位置可用一个简单,直观的公式来表示.然后,另一方面来看,这个特点也造成这种存储 ...

  7. [置顶] ※数据结构※→☆线性表结构(queue)☆============优先队列 链式存储结构(queue priority list)(十二)

    优先队列(priority queue) 普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除.在优先队列中,元素被赋予优先级.当访问元素时,具有最高优先级的元素最先删除.优先队列具有 ...

  8. C++编程练习(6)----“实现简单的队列的链式存储结构“

    队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出.简称链队列. 实现代码如下: /* LinkQueue.h 头文件 */ #include<iostream> #defi ...

  9. C++编程练习(4)----“实现简单的栈的链式存储结构“

    如果栈的使用过程中元素数目变化不可预测,有时很小,有时很大,则最好使用链栈:反之,如果它的变化在可控范围内,使用顺序栈会好一些. 简单的栈的链式存储结构代码如下: /*LinkStack.h*/ #i ...

随机推荐

  1. java垃圾回收及gc全面解析(全面覆盖cms、g1、zgc、openj9)

    一般来说,gc的停顿时间和活跃对象的堆大小成比例,视gc线程的数量,每1GB可能会停顿1-3秒,且cpu数量通常和gc呈现阿姆达尔定律(Amdahl’s Law),而非我们直观计算的线性变化.如下: ...

  2. ent 基本使用十一 sql.DB 集成

    这个功能是github中大家提的比较多的一个,所以官方也暴露了相关的api 配置sql.DB 一种方式 package main ​ import ( "time" ​ " ...

  3. 洛谷P2949题解

    若想要深入学习反悔贪心,传送门. Description: 有 \(n\) 项工作,每 \(i\) 项工作有一个截止时间 \(D_i\) ,完成每项工作可以得到利润 \(P_i\) ,求最大可以得到多 ...

  4. Java动态调用脚本语言Groovy

    Java动态调用脚本语言Groovy 2019-05-15 目录 0. pom.xml添加依赖1. 使用GroovyShell计算表达式2. 使用GroovyScriptEngine脚本引擎加载Gro ...

  5. youtube 下载视频插件

    https://zh.savefrom.net/userjs-for-google-chrome.php

  6. js 创建xml元素

    function createXML(pathData) { var xmlDOM = createXMLDOM(); //参考:http://iceworldvip.blog.51cto.com/5 ...

  7. SpringBoot之AOP使用

    说到SpringBoot,难免会想到Spring.对于Spring,我曾用其开发过很多大大小小的项目.当使用SpringBoot之后,给人最直观的感受,用古人一句话:”大道至简”. SpringBoo ...

  8. [技术博客]React Native——HTML页面代码高亮&数学公式解析

    问题起源 原有博文显示时代码无法高亮,白底黑字的视觉效果不好. 原有博文中无法解析数学公式,导致页面会直接显示数学公式源码. 为了解决这两个问题,尝试了一些方法,最终利用开源类库实现了页面美化. (失 ...

  9. 用JAVA把内存里的二进制文件打包成ZIP包

    import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.ut ...

  10. debian8 vga 文本模式下出现闪屏

    这种问题是因为 grub 里面关于 分辨率大小不对的问题. 在 debian 里面,在文件 /boot/grub/grub.cfg 里面可以添加 vga 参数配置. 如下: 在 kernel 启动参数 ...