BJFU-206-基于顺序存储结构的图书信息表的修改
#include<stdio.h>
#include<stdlib.h> #define MAX 1000
typedef struct{ double no;
char name[MAX];
double price; }Book;
int createList(Book b[]);
void traverse(Book b[],int len);
double average(Book b[],int len);
void add(Book b[],int len,double ave);
int main()
{
Book book[MAX];
int len;
double ave;
len = createList(book);
ave = average(book,len);
printf("%.2f\n",ave);
add(book,len,ave);
traverse(book,len); return ;
}
int createList(Book b[])
{
int i=;
while()
{
scanf("%lf",&b[i].no);
scanf("%s",&b[i].name);
scanf("%lf",&b[i].price); if(b[i].no==&&b[i].name[]==''&&b[i].price==)
break;
i++;
} return i;
}
double average(Book b[],int len)
{
double sum = ;
int i;
for(i=;i<len;i++)
{
sum = sum+b[i].price;
} return sum/i;
}
void traverse(Book b[],int len)
{
for(int i=;i<len;i++)
{
printf("%.0lf ",b[i].no);
printf("%s ",b[i].name);
printf("%.2f",b[i].price);
printf("\n");
}
} void add(Book b[],int len,double ave)
{
for(int i = ;i<len;i++)
{
if(b[i].price<ave)
{
b[i].price = b[i].price*(+0.2);
}
else
{
b[i].price = b[i].price*(+0.1);
}
}
}
BJFU-206-基于顺序存储结构的图书信息表的修改的更多相关文章
- BJFU——205基于顺序存储结构的图书信息表的排序
#include<stdio.h> #include<stdlib.h> #define MAX 1000 typedef struct{ double no; char na ...
- BJFU-207-基于顺序存储结构的图书信息表的逆序存储
#include<stdio.h> #include<stdlib.h> #define MAX 1000 typedef struct{ double no; char na ...
- BJFU-208-基于顺序存储结构的图书信息表的最贵图书的查找
#include<stdio.h> #include<stdlib.h> #define MAX 1000 typedef struct{ double no; char na ...
- BJFU-216-基于链式存储结构的图书信息表的修改
#include<stdio.h> #include<stdlib.h> #define MAX 100 typedef struct Book{ double no; cha ...
- BJFU—214基于链式存储结构的图书信息表的创建和输出
#include<stdio.h>#include<stdlib.h>#define MAX 100 typedef struct bNode{ double no; char ...
- BJFU-218-基于链式存储结构的图书信息表的最贵图书的查找
如果编译不通过,可以将C该为C++ #include<stdio.h> #include<stdlib.h> #define MAX 100 //创建节点 typedef st ...
- BJFU-215-基于链式存储结构的图书信息表的排序
这里用的是冒泡排序 #include<stdio.h> #include<stdlib.h> #define MAX 100 typedef struct Book{ doub ...
- BJFU-217-基于链式存储结构的图书信息表的逆序存储
这道题可以用头插法创建列表,然后正常输出: #include<stdio.h> #include<stdlib.h> #define MAX 100 typedef struc ...
- 基于Spring MVC + Spring + MyBatis的【图书信息管理系统(二)】
资源下载:https://download.csdn.net/download/weixin_44893902/35123371 练习点设计:添加.删除.修改 一.语言和环境 实现语言:JAVA语言. ...
随机推荐
- GO标准库flag
Go语言内置的flag包实现了命令行参数的解析. os.Args os.Args是一个[]string类型. 获取命令参数示例: func main() { if len(os.Args) > ...
- springboot项目获取resource下的文件
package com.expr.exceldemo; import org.springframework.core.io.ClassPathResource; public class Test ...
- ubuntu16.04安装opencv3.4.1教程
最近opencv3.4.1发布了,想换个新的试试鲜,于是把配置的过程通过博文的方式记录下来,方便查阅. 本教程原为3.3.0,但经过博主亲测,3.4.0.3.4.1皆适用 1.去官网下载opencv, ...
- composer.lock文件的作用
在使用composer后目录中会出现2个文件,composer.lock和composer.json,现在来说说这两个文件的作用. 1.composer.json composer.json文件中保存 ...
- graph embedding 使用方法
无论是network embedding 还是graph embedding都是通过节点(node)和边的图,学出每个节点的embedding向量. 比较流行的算法有: Model Paper Not ...
- cv2.warpAffine 参数详解
本文链接:https://blog.csdn.net/qq878594585/article/details/81838260本文为作者原创文章,未经同意严禁转载! opencv中的仿射变换在pyth ...
- Tosca : 把 inner text 放到变量里,定义变量,使用变量
XB的是分开取 注意颜色要变成蓝色的,才可用 上面是定义 下面是使用 键盘输入变量
- php redis set 单机锁(转)
如果一个请求更新缓存的时间比较长,甚至比锁的有效期还要长,导致在缓存更新过程中,锁就失效了,此时另一个请求会获取锁,但前一个请求在缓存更新完毕的时候,如果不加以判断直接删除锁,就会出现误删除其它请求创 ...
- markdown如何在表格内换行?
答:使用<br>即可在表格内换行
- SynchronizedStack -- tomcat8同步栈
同步栈(安全栈): org.apache.tomcat.util.collections.SynchronizedStack通过stack栈锁来控制栈中获取的类T.通过push.pop和clear方法 ...