标签:
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 }
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;”将通不过编译
标签:
原文地址:http://www.cnblogs.com/travelller/p/4662669.html