--字符串读入

E - Hardwood Species

Time Limit:10000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u

Submit Status Practice POJ 2418

Description

Hardwoods are the botanical group of trees that have broad leaves, produce a fruit or nut, and generally go dormant in the winter.  America‘s temperate climates produce forests with hundreds of hardwood species -- trees that share certain biological characteristics. Although oak, maple and cherry all are types of hardwood trees, for example, they are different species. Together, all the hardwood species represent 40 percent of the trees in the United States. 
On the other hand, softwoods, or conifers, from the Latin word meaning "cone-bearing," have needles. Widely available US softwoods include cedar, fir, hemlock, pine, redwood, spruce and cypress. In a home, the softwoods are used primarily as structural lumber such as 2x4s and 2x6s, with some limited decorative applications. 
Using satellite imaging technology, the Department of Natural Resources has compiled an inventory of every tree standing on a particular day. You are to compute the total fraction of the tree population represented by each species.

Input

Input to your program consists of a list of the species of every tree observed by the satellite; one tree per line. No species name exceeds 30 characters. There are no more than 10,000 species and no more than 1,000,000 trees.

Output

Print the name of each species represented in the population, in alphabetical order, followed by the percentage of the population it represents, to 4 decimal places.

map风险 8859ms2015-5-16 17:01#include<stdio.h>
#include<string.h>
#include<map>
#include<string>
#include<iostream>
#include<algorithm>
using namespace std;

int main(){
	map<string,int>m;
	string q;
	double s = 0;
	while(getline(cin,q)){

		m[q]++;
        s++;
	}
	map<string,int>::iterator iter;
    for(iter = m.begin(); iter != m.end(); iter++)
    {
        cout <<iter->first;
        printf(" %.4f\n",(iter->second)/s*100);
    }

}

  

时间: 2024-10-01 10:48:20

--字符串读入的相关文章

getline的字符串读入

也许是最近模拟题打多了的缘故,我发现自己渐渐变得比较毒瘤起来,当然这也是有一定的好处的,因为从中我也学到了一些处理字符串的正确姿势,今天我们就来讲一 讲如何用函数getline来读入一整行字符串进行处理.或者他的一些变体. 首先我们先需要知道为什么我们要学习这个函数,是这样的,相信大家都应该知道以前有一个函数叫做gets,这个函数非常的好用,你可以非常快捷的使用他来进行一整行字符串的输入,但是这个函数不知道为什么在正式的比赛中,很容易使用它而导致挂掉,而又因为最基本的读入getchar本人在写的

c++的字符串

字符串不是太难,但特别多细节,一不注意就会错qaq 到现在为止都没打完... 但还是先写了...(先声明,本人Pascal转c++,打程序时总少不了尴尬...) 1.输入输出 输入: 1)scanf:(可读入多个字符串) 如scanf("%s%s%s",&s1,&s2,&s3)到空格就换一个 一定要加&,不然会错,吃了好多次亏%>_<% 2)gets(只能读一个字符串,好处是可以一下读一行,很好用..) 输出: 1)printf: 只输出字符

字符串与格式化输入/输出

//主要是数组的scanf用法和strlen sizeof 的区别#include<stdio.h>#define DENSITY 62.4int main(void){ float weight ,volume; int size ,letters; char name[40]; printf("Hi!What's your first name?\n"); scanf("%s",name); printf("%s,what's your w

深入理解C指针之五:指针和字符串

基础概念 字符串可以分配到内存的不同区域,通常使用指针来支持字符串操作.字符串是以ASCII字符NUL结尾的字符序列.ASCII字符NUL表示为\0.字符串通常存储在数组或者从堆上分配的内存中.不过,并非所有的字符数组都是字符串.例如,字符数组可能没有NUL字符. C中有两种类型的字符串. * 单字节字符串.由char数据类型组成的序列. * 宽字符串.由wchar_t数据类型组成的序列. wchar_t数据类型用来表示宽字符串,可能是16位或32位宽.这两种字符串都以NUL结尾.宽字符主要用来

字符串处理scanf(&quot;%d%*c&quot;,&amp;n);

"*"表示该输入项读入后不赋予任何变量,即跳过该输入值.这在减小内存开支上面还是有一点用处的,不需要的字符直接跳过,免得申请没用的变量空间 你的例子中的%*c的作用是读入'\n',即回车符,否则后面读入的将是'\n'. 其实还有更强大的一些字符串读入技巧,如下: 对于输入字符串还有一些比较有用的控制, 经常需要读入一行字符串,而这串字符里面可能有空格.制表符等空白字符, 如果直接用%s是不可以的,于是有些人就想到用gets(),当然这也是一种选择, 但是懂C的人基本上都知道gets()

C++的输入输出流简单总结【字符串】

1.istringstream.ostringstream.stringstream 类介绍 (1)基于控制台的输入输出 iostream对流进行读写,由istream和ostream派生. (2)基于文件的输入输出 头文件为fstream,ifstream从文件中读取,由istream派生.ofstream写到文件中去,由ostream派生,fstream对文件进行读写,由iostream派生. (3)基于字符串的输入输出 istringstream从string对象中读取,由istream派

C语言数组:C语言数组定义、二维数组、动态数组、字符串数组

1.C语言数组的概念 在<更加优美的C语言输出>一节中我们举了一个例子,是输出一个 4×4 的整数矩阵,代码如下: #include <stdio.h> #include <stdlib.h> int main() { int a1=20, a2=345, a3=700, a4=22; int b1=56720, b2=9999, b3=20098, b4=2; int c1=233, c2=205, c3=1, c4=6666; int d1=34, d2=0, d3

C++ 中字符串标准输入的学习及实验

声明:下面实验中[]里面表示要输入里面的符号,[]符号本身并未输入 1.cin>> cin使用空白(空格.制表符.回车)来确定字符串的结束位置. 1 #include<iostream> 2 using namespace std; 3 4 int main() 5 { 6 char p[100]; 7 char q[100]; 8 cin>>p; 9 cout<<p; 10 cin>>q; 11 cout<<q; 12 return

从文件读入16进制数转化为10进制数再输出到文件中

sSN LMDscandata 1 1 B98C27 0 0 85C0 85C3 F55D73C5 F55DCC81 0 0 7 0 0 1388 168 0 1 DIST1 3F800000 00000000 DBBA0 1388 B5 136C 1373 136B 1389 1398 1356 136D 1386 137B 139C 13C4 13F7 1531 174D 1751 1755 1765 176C 1777 177B 1784 1791 1796 17A8 17C0 17C6