/*水果

夏天来了~~好开心啊,呵呵,好多好多水果~~

Joe经营着一个不大的水果店.他觉得生存之道就是经营最受顾客欢迎的水果.

如今他想要一份水果销售情况的明细表,这样Joe就能够非常easy掌握全部水果的销售情况了.

Input

第一行正整数N(0<N<=10)表示有N组測试数据.

每组測试数据的第一行是一个整数M(0<M<=100),表示工有M次成功的交易.

其后有M行数据,每行表示一次交易,由水果名称(小写字母组成,长度不超过80),

水果产地(小写字母组成,长度不超过80)和交易的水果数目(正整数,不超过100)组成.

Output

对于每一组測试数据,请你输出一份排版格式正确(请分析样本输出)的水果销售情况明细表.

这份明细表包含全部水果的产地,名称和销售数目的信息.水果先按产地分类,产地按字母顺序排列;

同一产地的水果依照名称排序,名称按字母顺序排序.

两组測试数据之间有一个空行.最后一组測试数据之后没有空行.

Sample Input

1

5

apple shandong 3

pineapple guangdong 1

sugarcane guangdong 1

pineapple guangdong 3

pineapple guangdong 1

Sample Output

guangdong

   |----pineapple(5)

   |----sugarcane(1)

shandong

   |----apple(3)*/

字符串处理

#include<stdio.h>

 #include<string.h>

 #include<stdlib.h>

 #include<algorithm>

 using namespace std;

 struct app{

     char name[81];//名称

    char add[81];//地址

    int num;//数量

}guo[100];

int cmp(const void *a,const void *b){//依照要求结构体排序

    struct app *c= (app *)a; 

     struct app *d= (app *)b; 

     if(strcmp(c->add,d->add)!=0) 

     return strcmp(c->add,d->add); 

     else  

     return strcmp(c->name,d->name); 

 }

 int main(){

     int n,m;

     scanf("%d",&n);

     while(n--){

      int j=0;

         scanf("%d\n",&m);

         for(int i=0;i<m;i++)

             scanf("%s %s %d",guo[i].name,guo[i].add,&guo[i].num);

         qsort(guo,m,sizeof(guo[0]),cmp);

         //sort(guo,guo+m,cmp);

         for(int i=1;i<m;i++)

         {

          if(strcmp(guo[i].add,guo[i-1].add)==0&&strcmp(guo[i].name,guo[i-1].name)==0)//add,name都相等相加  前边的变为0

    {guo[i].num+=guo[i-1].num;

     guo[i-1].num=0;

       }

         }

         printf("%s\n",guo[j].add);

         for(j=0;j<m;j++)

         {

          if(j!=0&&strcmp(guo[j].add,guo[j-1].add)!=0) printf("%s\n",guo[j].add);//仅仅要地址和前边的不同就是新地址  输出

         if(guo[j].num!=0) printf("   |----%s(%d)\n",guo[j].name,guo[j].num);//输出数量不为0的水果的名字

        }

         if(n) printf("\n"); //if(n!=0)居然也会错

    }

     return 0;

 }

HDUOJ 水果的更多相关文章

  1. codevs3304 水果姐逛水果街

    题目描述 Description 水果姐今天心情不错,来到了水果街. 水果街有n家水果店,呈直线结构,编号为1~n,每家店能买水果也能卖水果,并且同一家店卖与买的价格一样. 学过oi的水果姐迅速发现了 ...

  2. 基于HTML5和JS实现的切水果游戏

    切水果游戏曾经是一款风靡手机的休闲游戏,今天要介绍的就是一款网页版的切水果游戏, 由JavaSript和HTML5实现,虽然功能和原版的相差太大,但是基本的功能还是具备了,还是模仿的挺逼真,有一定的J ...

  3. hduoj 1455 && uva 243 E - Sticks

    http://acm.hdu.edu.cn/showproblem.php?pid=1455 http://uva.onlinejudge.org/index.php?option=com_onlin ...

  4. 水果姐逛水果街Ⅱ codevs 3305

    3305 水果姐逛水果街Ⅱ  时间限制: 2 s  空间限制: 256000 KB   题目描述 Description 水果姐第二天心情也很不错,又来逛水果街. 突然,cgh又出现了.cgh施展了魔 ...

  5. 最简单的可取消多选效果(以从水果篮中挑选水果为例)【jsDEMO】

    [功能说明] 最简单的可取消多选效果(以从水果篮中挑选水果为例) [html代码说明] <div class="box" id="box"> < ...

  6. 前端优秀作品展示,JavaScript 版水果忍者

    <水果忍者>是一款非常受喜欢的手机游戏,刚看到新闻说<水果忍者>四周年新版要上线了.网页版的切水果游戏由百度 JS 小组开发,采用 vml + svg 绘图,使用了 Rapha ...

  7. codevs3305 水果姐逛水果街Ⅱ

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...

  8. 【CodeVS】p1299 切水果

    题目描述 Description 简单的说,一共N个水果排成一排,切M次,每次切[L,R]区间的所有水果(可能有的水果被重复切),每切完一次输出剩下水果数量 数据已重新装配,不会出现OLE错误 时限和 ...

  9. Codevs 1299 切水果

    题目链接 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 简单的说,一共N个水果排成一排,切M次,每次切[L,R]区间的所有水果 ...

随机推荐

  1. Java 位运算符 &、|、^、~、<<、>>、>>>

      撸了N久的代码,但是突然冒出来个位运算,我就蒙蔽了,这是什么?我是谁?我在干什么?我在哪? 1)闲扯 关于位运算符无非也就 与(&).或(|).异或(^).取反(~).左移(<< ...

  2. C#接入第三方支付一些小问题

    13年第一次接入支付宝的时候,支付宝的api还不是很好用,费了些劲才完成,本月再次接入的时候发现已经很好用了,接入过程非常顺畅,只出现了一个小问题,我的金额默认是保留了4位小数,支付宝api只接受最多 ...

  3. 【转】SQL SERVER 主体,已同步

    转自郭大侠博客:  https://www.cnblogs.com/gered/p/10601202.html 目录 SQL SERVER 基于数据库镜像的主从同步... 1 1.概念... 2 1. ...

  4. jsp页面导入excel文件的步骤及配置

    上传使用flash插件 需要jquery.uploadify.min.js,uploadify.css,poi-ooxml-3.8-20120326.jar等 jsp页面: <%@include ...

  5. 经典实用SQL Server语句大全总结(一)

    简要介绍基础语句:1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创 ...

  6. 5、scala数组转换

    1.使用yield和函数式编程转换数组 2.算法案例:移除第一个负数之后的所有负数 1.使用yield和函数式编程转换数组 使用yield进行数组转换 结合if守卫,仅转换需要转换的元素 使用函数式编 ...

  7. Polymorphism (computer science)

    In programming languages and type theory, polymorphism (from Greek πολύς, polys, "many, much&qu ...

  8. Express+Nodejs 下的登录拦截实现

    Express+Nodejs 下的登录拦截实现 利用商城举例,在商城中没有登录之前,可以看商品列表.详情.登录或者注册都可以,但是购买的时候是不行的,那么这个功能在Node后台中是怎么实现的呢,这个功 ...

  9. 玲珑杯#20 C 漆黑的太阳——莫队

    题目:https://www.ifrog.cc/acm/problem/1155 题解:https://www.ifrog.cc/acm/solution/28 1.如何不重复计算一个值 自己想的是对 ...

  10. RecyclerView 悬浮/粘性头部效果3种方式

    但是以上两种方式onDrawOver()方法实现逻辑对初次查看该段代码要花时间理解.下面代码逻辑(原理一样,同样参考大神代码)相对清晰,易理解 public class StickyDecoratio ...