HDUOJ 水果
/*水果
夏天来了~~好开心啊,呵呵,好多好多水果~~
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 水果的更多相关文章
- codevs3304 水果姐逛水果街
题目描述 Description 水果姐今天心情不错,来到了水果街. 水果街有n家水果店,呈直线结构,编号为1~n,每家店能买水果也能卖水果,并且同一家店卖与买的价格一样. 学过oi的水果姐迅速发现了 ...
- 基于HTML5和JS实现的切水果游戏
切水果游戏曾经是一款风靡手机的休闲游戏,今天要介绍的就是一款网页版的切水果游戏, 由JavaSript和HTML5实现,虽然功能和原版的相差太大,但是基本的功能还是具备了,还是模仿的挺逼真,有一定的J ...
- hduoj 1455 && uva 243 E - Sticks
http://acm.hdu.edu.cn/showproblem.php?pid=1455 http://uva.onlinejudge.org/index.php?option=com_onlin ...
- 水果姐逛水果街Ⅱ codevs 3305
3305 水果姐逛水果街Ⅱ 时间限制: 2 s 空间限制: 256000 KB 题目描述 Description 水果姐第二天心情也很不错,又来逛水果街. 突然,cgh又出现了.cgh施展了魔 ...
- 最简单的可取消多选效果(以从水果篮中挑选水果为例)【jsDEMO】
[功能说明] 最简单的可取消多选效果(以从水果篮中挑选水果为例) [html代码说明] <div class="box" id="box"> < ...
- 前端优秀作品展示,JavaScript 版水果忍者
<水果忍者>是一款非常受喜欢的手机游戏,刚看到新闻说<水果忍者>四周年新版要上线了.网页版的切水果游戏由百度 JS 小组开发,采用 vml + svg 绘图,使用了 Rapha ...
- codevs3305 水果姐逛水果街Ⅱ
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...
- 【CodeVS】p1299 切水果
题目描述 Description 简单的说,一共N个水果排成一排,切M次,每次切[L,R]区间的所有水果(可能有的水果被重复切),每切完一次输出剩下水果数量 数据已重新装配,不会出现OLE错误 时限和 ...
- Codevs 1299 切水果
题目链接 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 简单的说,一共N个水果排成一排,切M次,每次切[L,R]区间的所有水果 ...
随机推荐
- Go Server Record
Centos Setup Go yum install glibc-headers gcc-c++ # 一键安装shadowsocks 1. wget --no-check-certificate - ...
- Android TV 选中高亮显示
1.开发Android TV APP, 使用遥控器选中按钮或者选着其它菜单 如果没有高亮显示,就看不出选中哪个按钮或者菜单 2.在drawable 添加 border_red.xml 设置选中高亮 & ...
- WEB笔记-让HTML5向下兼容的策略
//给新标签增加块级元素声明 article,aside,dialog,figure,fotter,header,legend,nav,section{display:block} //添加css兹瓷 ...
- ABP(http://www.aspnetboilerplate.com/)下载初始化
官网:http://www.aspnetboilerplate.com/ 下载 下载完成后用vs2015打开,是2015,低版本打开可能会出现一些问题 生成项目,Nuget会自动下载需要的类库 ABP ...
- OpenWRT 常用软件安装
root@Jack:/tmp/opkg-lists# opkg--help opkg:unrecognized option `--help' opkgmust have one sub-comman ...
- HTML DIV中文字自动换行 , 顶部对齐
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta ht ...
- java操作Excel的poi 遍历一个工作簿
遍历一个工作簿 package com.java.poi; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.h ...
- BZOJ 3036: 绿豆蛙的归宿 期望 + 拓扑排序
随着新版百度空间的下线,Blog宠物绿豆蛙完成了它的使命,去寻找它新的归宿.给出一个有向无环的连通图,起点为1终点为N,每条边都有一个长度.绿豆蛙从起点出发,走向终点. 到达每一个顶点时,如果有K条离 ...
- SSL证书在线申请和取回证书指南
1.客服下单后用户会收到一封邮件,来验证接收证书的邮箱;如图1所示:只有完成此邮箱验证才能正常申请证书; 请注意:为了确保您或您的用户能正常收到WoSign证书管理系统自动发送的邮件,请一定要把系统发 ...
- 【剑指Offer】60、把二叉树打印成多行
题目描述: 从上到下按层打印二叉树,同一层结点从左至右输出.每一层输出一行. 解题思路: 本题可类比第22题:从上往下打印二叉树,这两道题实际上是一回事,只不过这里我们多了一个分行打印 ...