hdoj1004 简单string应用

 1 #include <iostream>
 2 #include <string>
 3 #include <string.h>
 4 using namespace std;
 5
 6 string str[1000];
 7
 8 int main()
 9 {
10     int a[1000];
11     int n,i,j,max;
12     while (cin>>n,n)
13     {
14         memset(a,0,sizeof(a));
15         for (i=0;i<n;i++)
16         {
17             cin>>str[i];
18             for (j=0;j<i;j++)
19             {
20                 if (str[i]==str[j])
21                 {
22                     a[j]++;
23                     break;
24                 }
25             }
26             if (i==j) a[i]++;
27         }
28         max=0;
29         for (i=0;i<n;i++)
30             if (a[i]>a[max]) max=i;
31         cout<<str[max]<<endl;
32     }
33     return 0;
34 }

hdoj1004

1.借着这个题补了一下string的用法……

http://www.cnblogs.com/travelller/p/4662441.html

2.while(cin>>n)如果你声明的n是int型,那么当你输入一个非数字字符时就会终止

while(cin>>n,n) 如果你声明的n是int型,那么当你输入一个非零数字时就会终止

3.上面第二个表达式是逗号表达式

逗号表达式的语法为:   表达式1,表达式2,...表达式n  C++顺序计算表达式1,表达式2,……,表达式n的值。例如:    int a,b,c;     a=l,b=a+2, c=b+3;  由于按顺序求值, 所以能够保证b一定在a赋值之后, c一定在b赋值之后。该逗号表 达式可以用下面3个有序的赋值语句来表示:    a=1;    b=a+2;    c=b+3;  逗号表达式是有值的,这一点是语句所不能代替的。逗号表达式的值为第n个子表达 式的值,即表达式n的值。例如:    int a,b,c,d;    d=(a=1,b=a+2,c=b+3);    cout<<d<<endl;  输出结果为:    6  上例中输出的结果d即为c的值。  逗号表达式还可以用于函数调用中的参数。例如:    func(n,(j=1,j+4),k);  该函数调用有3个参数,中间的参数是一个逗号表达式。括号是必须的,否则,该函数有4个参数了。逗号表达式作为值的形式,可以用于几乎所有的地方。  C++中,如果逗号表达式的最后一个表达式为左值,则该逗号表达式为左值。例如:    (a=1,b,c+1,d)=5; //ok:即d=5  ->在C中,逗号表达式是不能作左值的,所以 “(a=1,b,c+1,d)=5;”将通不过编译
时间: 2024-08-24 18:58:10

hdoj1004 简单string应用的相关文章

从简单类型到复杂类型的参数传递用例,以及传递简单string类型的解决办法

一,简单类型的传值 比如 public Users Get(int id) ,它可以使用两种方式获取: api/default/5 $.get("/api/default",{id:90}, function (data) {/* 处理逻辑 */}); 前者不需要注明参数名,后者适用于存在多个简单参数的情况,例如比较实际的案例以及对应的获取方式是: public Users Get(int id, int id2) $.get("/api/default",{id:

c++简单String类实现

#include <iostream> #include <string> using namespace std; class String { public: String(const char* str = NULL);//通用构造函数,String("abc") String(const String &str);//拷贝构造 ~String(); String& operator=(const String &str);//赋值

java中String和StringBuffer哪个效率高

大多数的网站以及多数的java书上都会说使用StringBuffer类进行字符串"连接"操作是比String类进行连接操作的效率高的,那么真的是这样吗?在这里我们实际自己测试一下,看看他们两个到底谁的效率高,然后从反编译的代码解释原因. 在我的这篇博客:<Java中 "abc" + '/'和"abc" + "/"的区别>中提到了String类的'+'操作是依赖于StringBuilder类的,而JDK API文档中

JAVA计算器(有无限加括号功能)+string与double互相转化

java老师布置的作业,要我们编个计算器,而且要有括号功能...编的恶心哪,600多行代码,调试来调试去终于能用了,但是估计还有bug. 有一个bug我自己知道,但是不影响正常使用:可以存在前导零,就是说可以有0087这种数字,计算器会认为这就是87,. 下面是两个截图,左边是输入,右边是输出. 这个计算器的核心算法就是对左边的字符串进行处理,得出右边的结果,其中要考虑到括号匹配.负号.乘除优先级等等问题,这一个算法写了200行. 因为字符串比较短,最多就几十,所以我的算法比较暴力,没有考虑时间

STL基础--String

String 构造 string s1("Hello"); string s2("Hello", 3); //s2: Hel string s3(s1, 2); //s3: llo string s4(s1, 2, 2); //s4: ll string s5(5, 'a'); //s5: aaaaa string s6({'a', 'b', 'c'}); //s6: abc 大小 s1="Goodbye" s1.size(), s1.lengt

python-数据结构Data Structure1

四种数据结构: 列表list = [val1,val2,val3,val4]字典dict = {key1:val1,key2:val2}元组tuple = (val2,val2,val3,val4)集合set = {val1,val2,val3,val4} 一.列表 列表可以装入Python中所有的对象,例子 all_in_list = [ 1, #整数 1.0 #浮点数 'a worf' #字符串 print(), #函数 True, #布尔值 [1,2] #列表中套列表 (1,2),#元组

利用XML序列化和Asp.Net Web缓存实现站点配置文件

我们经常会遇到这样的场景: 今天来了个业务,需要加一个字段,但是考虑的以后可能有变动,需要配成“活”的. 一般最初的做法就是加一个配置到Web.Config文件的AppSettings中去.但是这样有一个问题,那就是改一下配置节点,AppDomain就需要重启,很是不爽. 变通一点的会搞出一个xml文件,利用序列化去动态的读取.但是,哥!每次都读文件不觉得太耗IO吗?尤其是使用频率高话? 下面上代码吧,懒的废话了,关键地方都注释了,也不是什么高深的技术: 先来配置文件(注意Config路径要自己

网站后端_Python+Flask.0006.FLASK地址转换之默认转换与自定义转换?

动态规则: 说明: URL规则可添加变量部分,也就是说将符合同种规则的URL抽象成一个URL模式 @app.route('/instance/<uuid>/') def instance(uuid):     return 'Instance: {}'.format(uuid) 注意: 尖括号中内容是动态的,凡是匹配到/instance/前缀的都会被映射到这个路由上,在内部把uuid作为参数而获得,默认类型为字符串 默认转换: 说明: 可通过<converter:variable_nam

JavaOne 2016——观众得以一睹JShell的威力

导读 在JavaOne 2016的主题演讲中,Java平台组的首席架构师Mark Reinhold指出Java 9并不仅仅是Jigsaw,针对Java 9,一共包含了85个JEP.我在这里会关注一个他所强调的Java新特性,JEP 222,那就是Java shell(也被称为JShell). 借助JShell,Java 9能够让开发人员使用REPL(Read-Eval-Print loop),这是一个交互式的工具,它会计算用户的输入并打印输出,输出的内容要么是一个值要么是一个状态变更. JShe