今天笔者几篇文章介绍了改测试数据名称的文章. 关联文章的地址
Joe运营着一个不大的生果店.他以为生存之道就是运营最受顾客欢送的生果.现在他想要一份生果销售情况的明细表,这样Joe就可以很容易掌握所有生果的销售情况了.
每组测试数据的第一行是一个整数M(0<M<=100),表现工有M次成功的交易.其后有M行数据,每行表现一次交易,由生果名称(小写字母组成,长度不超过80),生果产地(小写字母组成,长度不超过80)和交易的生果数目(正整数,不超过100)组成.
两组测试数据之间有一个空行.最后一组测试数据以后没有空行.
题目已很明确了,就不需要我多说了
一道简略的结构体排序
信念是巍巍大厦的栋梁,没有它,就只是一堆散乱的砖瓦;信念是滔滔大江的河床,没有它,就只有一片泛滥的波浪;信念是熊熊烈火的引星,没有它,就只有一把冰冷的柴把;信念是远洋巨轮的主机,没有它,就只剩下瘫痪的巨架。
#include <stdio.h> #include <string.h> #include <algorithm> using namespace std; struct Node { char name[100]; char space[100]; int num; } f[110]; int cmp(Node x,Node y) { if(strcmp(x.space,y.space)) return strcmp(x.space,y.space)<0; return strcmp(x.name,y.name)<0; } int main() { int t,n,i; scanf("%d",&t); while(t--) { scanf("%d%*c",&n); for(i = 0; i<n; i++) { scanf("%s%s%d",f[i].name,f[i].space,&f[i].num); } sort(f,f+n,cmp); char di[100],min[100]; int cnt = 0,flag = 1; strcpy(di,f[0].space); strcpy(min,f[0].name); for(i = 0; i<n; i++) { if(strcmp(di,f[i].space)) { strcpy(di,f[i].space); strcpy(min,f[i].name); flag = 1; cnt = 0; } if(!strcmp(di,f[i].space)) { if(flag) { printf("%s\n",di); flag = 0; } if(!strcmp(min,f[i].name)) { while(!strcmp(min,f[i].name) && !strcmp(di,f[i].space))//产地与生果名都必须雷同 { cnt+=f[i].num; i++; } printf(" |----%s(%d)\n",min,cnt); strcpy(min,f[i].name); i--; cnt = 0; } } } if(t) printf("\n"); } return 0; }
文章结束给大家分享下程序员的一些笑话语录: 这年头的互联网真是娱乐了中国,网民们从各种各样的“门”里钻来钻去,又有好多“哥”好多“帝”,值得大家品味不已……网络经典语录,关于IT与互联网,经典与您分享!
---------------------------------
原创文章 By
测试数据和名称
---------------------------------