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;

}

2014华为实习上级笔试题-- 统计字符串中出现的单词

时间: 2024-08-04 22:59:35

2014华为实习上级笔试题-- 统计字符串中出现的单词的相关文章

2014华为实习上级笔试题——三天打鱼两天晒网

#include<iostream> using namespace std; int func(int year)//判断闰年的个数 { int count=0; for(int i=1990;i<year;i++) if(year%4==0&&year%100!=0||year%400==0) count++; return count; } int main() { int year,month,day; int count,sum,num; //!!!!!!!!!

[2013百度软件研发笔试题] 求字符串中连续出现同样字符的最大值

题目完整描写叙述为:用递归的方式实现一个求字符串中连续出现同样字符的最大值.如aaabbcc,连续出现a的最大值为3,abbc,连续出现字符最大的值为2. 下面是我想出来的方法: #include <iostream> using namespace std; #define MAX(a, b) (a) > (b) ? (a) : (b) int Get(char *s, int n, int m)  //字符指针, 当前最长串, max最长串 {     if(*(s+1) == '\

[2013百度软件研发笔试题] 求字符串中连续出现相同字符的最大值

题目完整描述为:用递归的方式实现一个求字符串中连续出现相同字符的最大值,如aaabbcc,连续出现a的最大值为3,abbc,连续出现字符最大的值为2. 以下是我想出来的方法: #include <iostream> using namespace std; #define MAX(a, b) (a) > (b) ? (a) : (b) int Get(char *s, int n, int m)  //字符指针, 当前最长串, max最长串 {     if(*(s+1) == '\0'

多益网络2014校招的一道笔试题---左旋字符串

定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部.如把字符串abcdef左旋转2位得到字符串cdefab.请实现字符串左旋转的函数,分析算法复杂度 当时答的时候用的方法太渣了, 思路是每次左移一位,移动K次. 12345678→23456781→34567812→45678123 这是我写的实现代码 1 void LeftMove(char* str,int k,int n) 2 { 3 k = k%n; 4 if (NULL == str||k<1||n<1) 5 { 6

C#经典笔试题-获取字符串中相同的字符以及其个数

本文来自:http://www.cnblogs.com/kejie/p/5971773.html public Dictionary<char,int> GetStrSameAs(string str){ //将字符串转换成一个字符数组. char[] charArray=str.ToCharArray(); //定义一个字典用,其中的键key作为取出的字符,值value作为对应字符的个数. Dictionary<char,int> dic=new Dictionary<ch

2014春季华为实习生机试试题及经验

前两天参加了华为的机试,由于这两天有点其他事情,就没来的及总结,趁着晚上空闲小小的总结下,希望能能为准备在华为工作的人提供点经验....... 华为机试分为三道题,均是编程题,题的难度依次增加,由于当时做题的时候因为机器的缘故题并没有全部完成,第二道题也没认真看,就记得不是太清,为了不误人子弟,在这里就给大家总结第一道和第三道吧,如有总结的不到处,还希望谅解..... 第一道题:大概意思是:输入含有7个字符的字符串,或者输入7个字符,在第一个和最后一个字符保持不变的情况下,对中间5个字符按ASC

2014年阿里巴巴在线笔试题-第3大题-公共最长字符串长度

说明 2014年阿里巴巴在线笔试题-第3大题    首先,我没参加这次的阿里巴巴在线笔试题,题目全部是从别人口中描述而来,对于以下的分析,如果有什么不对的地方还望指教.也希望大家能够有更好的办法,希望大家来能不吝赐教. 题目描述 给定一个主字符串和一个匹配字符串,现在问你,找出 "主串中可匹配到的匹配串中子串的最大长度",可能比较绕,举个例子吧 主字符串       abcdefgsdff     记为A 匹配字符串   abefgf               记为B 要求的值就是 

华为C语言笔试题集合

①华为笔试题搜集 1.static有什么用途?(请至少说明两种)    1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变.    2) 在模块内(但在函数体外),一个被声明为静态的变量能够被模块内所用函数訪问,但不能被模块外其他函数訪问.它是一个本地的全局变量.    3) 在模块内,一个被声明为静态的函数仅仅可被这一模块内的其他函数调用.那就是,这个函数被限制在声明它的模块的本地范围内使用 2.引用与指针有什么差别?    1) 引用必须被初始化,指针不必.    2)

2015微软实习在线笔试题 - Professor Q&#39;s Software

时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Professor Q develops a new software. The software consists of N modules which are numbered from 1 to N. The i-th module will be started up by signal Si. If signal Si is generated multiple times, the i-th module