# 结构struct动态数组创建、操作、删除

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 25384 Accepted Submission(s): 8029

Problem Description
FatMouse prepared M pounds of cat food, ready to trade with the cats guarding the warehouse containing his favorite food, JavaBean.
The warehouse has N rooms. The i-th room contains J[i] pounds of JavaBeans and requires F[i] pounds of cat food. FatMouse does not have to trade for all the JavaBeans in the room, instead, he may get J[i]* a% pounds of JavaBeans if he pays F[i]* a% pounds of cat food. Here a is a real number. Now he is assigning this homework to you: tell him the maximum amount of JavaBeans he can obtain.

Input
The input consists of multiple test cases. Each test case begins with a line containing two non-negative integers M and N. Then N lines follow, each contains two non-negative integers J[i] and F[i] respectively. The last test case is followed by two -1’s. All integers are not greater than 1000.

Output
For each test case, print in a single line a real number accurate up to 3 decimal places, which is the maximum amount of JavaBeans that FatMouse can obtain.

Sample Input
5 3
7 2
4 3
5 2
20 3
25 18
24 15
15 10
-1 -1

Sample Output
13.333
31.500

#include<stdio.h>
#include<algorithm>
using namespace std;

int j;
int f;
};

return double(a.j)/double(a.f)>double(b.j)/double(b.f);
}

void main(){
int m,n;
double sum;
while(1){
sum=0.0;
scanf("%d %d",&m,&n);
if(m==-1)
break;
for(int i=0; i<n; i++){
scanf("%d %d",&array[i].j,&array[i].f);
}
sort(array,array+n,compare);
for(int j=0; j<n; j++){
if(m<array[j].f){
sum+=double(array[j].j)/double(array[j].f)*m;
break;
}
m-=array[j].f;
sum+=array[j].j;
}
printf("%.3f\n",sum);
delete []array;
}
}


struct struct_name * struct_array = new struct struct_name[struct_array_len];
struct_name * struct_array = new struct_name[struct_array_len];  

scanf("%d",&struct_array[i].struct_member);

sort(struct_array,struct_array+struct_array_len,compare);

delete []struct_array;
• 本文已收录于以下专栏：

## 结构struct动态数组创建与操作

• lawrencesgj
• 2012年09月03日 21:55
• 8335

## C++二维动态数组的创建与删除

• jiang111_111shan
• 2015年03月21日 11:01
• 999

## C++学习笔记——C++动态数组的创建与删除

• liuqi605752176
• 2016年09月27日 10:16
• 620

## asp动态数组

• yyh1988923
• 2011年09月23日 09:36
• 5367

## 动态数组模板与struct结构

#include#includeusing namespace std;struct teacher{ int num; char name[10];};struct student{ int num...
• code_zhang
• 2009年06月11日 10:41
• 442

## 5.数据结构之通用动态数组

• linux_player_c
• 2015年10月22日 11:42
• 639

## struct 变长数组

• prom1201
• 2014年07月08日 11:04
• 1255

## 一维动态数组和二维动态数组的创建和使用

c，c的动态数组，一维数组，二维数组
• wj903829182
• 2014年07月17日 08:09
• 1733

## java 三大结构之Struct

java的三大框架分别是struct，spring和Hiberate。这里我们先来看看struct。 目前，运用广泛的是struct2，及MVC框架。M是指model，V是指view，C是指contr...
• github_36601823
• 2017年03月03日 16:51
• 2068

## 重拾C/C++ 使用Struct结构建立简单的链表

• YtdxYHZ
• 2015年10月07日 01:38
• 3163

举报原因： 您举报文章：结构struct动态数组创建、操作、删除 色情 政治 抄袭 广告 招聘 骂人 其他 (最多只允许输入30个字)