首页 > 代码库 > 2014华为实习上级笔试题-- 统计字符串中出现的单词
2014华为实习上级笔试题-- 统计字符串中出现的单词
#include<iostream>
//#include<string>
using namespace std;
struct node
{
char word[10];
int num;
};
node obj[100];
void my_word(char input[], char output[])
{
int sum=0,flag=0;
int i=0,j=0,k=0;
while(input[i]!=‘\0‘)///////////读入单词
{
if((input[i]>=‘a‘&&input[i]<=‘z‘)||(input[i]>=‘A‘&&input[i]<=‘Z‘))
{ obj[j].word[k++]=input[i];
obj[j].num=k; sum=j+1;
flag=0;
}
else
{
if(flag==0)
j++;
k=0;
flag=1;
}
i++;
}
////////////////
int temp;
int a[100];
for(i=0;i<sum-1;i++)
for(j=i+1;j<sum;j++)
if(obj[i].num==obj[j].num&&strcmp(obj[i].word,obj[j].word)==0)//strcmp(),相等时,为0000//strcpy()//strcat;
obj[j].num=0;
int count=0;
for(j=0;j<sum;j++)
if(obj[j].num>1)
count++;
if(count==0)
cout<<" ";
for(i=0;i<sum;i++)
a[i]=obj[i].num;
for(i=0;i<sum-1;i++)
for(j=i+1;j<sum;j++)
if(a[i]<a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
for(j=0;j<count;j++)
for(i=0;i<sum;i++)
if(a[j]==obj[i].num)
{
strcat(output,obj[i].word);
obj[i].num=0;
if(j!=count-1)
strcat(output," ");//空格
break;
}
cout<<output;
}
int main()
{
// cout<<strlen(‘ ‘);
// cout<<strlen(" ");//函数的原型
// cout<<sizeof(‘ ‘);
// cout<<sizeof(" ");
// char input[]="some local buses, some1234123drivers";
char input[]="%Abb^123 tg 3453i*()";
char output[200]="";
my_word(input,output);
return 0;
}
//#include<string>
using namespace std;
struct node
{
char word[10];
int num;
};
node obj[100];
void my_word(char input[], char output[])
{
int sum=0,flag=0;
int i=0,j=0,k=0;
while(input[i]!=‘\0‘)///////////读入单词
{
if((input[i]>=‘a‘&&input[i]<=‘z‘)||(input[i]>=‘A‘&&input[i]<=‘Z‘))
{ obj[j].word[k++]=input[i];
obj[j].num=k; sum=j+1;
flag=0;
}
else
{
if(flag==0)
j++;
k=0;
flag=1;
}
i++;
}
////////////////
int temp;
int a[100];
for(i=0;i<sum-1;i++)
for(j=i+1;j<sum;j++)
if(obj[i].num==obj[j].num&&strcmp(obj[i].word,obj[j].word)==0)//strcmp(),相等时,为0000//strcpy()//strcat;
obj[j].num=0;
int count=0;
for(j=0;j<sum;j++)
if(obj[j].num>1)
count++;
if(count==0)
cout<<" ";
for(i=0;i<sum;i++)
a[i]=obj[i].num;
for(i=0;i<sum-1;i++)
for(j=i+1;j<sum;j++)
if(a[i]<a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
for(j=0;j<count;j++)
for(i=0;i<sum;i++)
if(a[j]==obj[i].num)
{
strcat(output,obj[i].word);
obj[i].num=0;
if(j!=count-1)
strcat(output," ");//空格
break;
}
cout<<output;
}
int main()
{
// cout<<strlen(‘ ‘);
// cout<<strlen(" ");//函数的原型
// cout<<sizeof(‘ ‘);
// cout<<sizeof(" ");
// char input[]="some local buses, some1234123drivers";
char input[]="%Abb^123 tg 3453i*()";
char output[200]="";
my_word(input,output);
return 0;
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。