北京理工大学2000-2012考研计算机复试上机题详尽处理(13)
本站小编 福瑞考研网/2017-04-25
map<string, combined> map_si;
int i, sym_cnt[2]={0,0};
cout<<"请输入一个英文句子:"<<endl;
cin.getline(txtline, 1023);
// count ',' & '.'
p=txtline;
while(*p){
for(i=0; i<2; i++){
if(*p==*symbols[i]){
map_si[(string)symbols[i]].cnt++;
map_si[(string)symbols[i]].str = symbols[i];
break;
}
}
p++;
}
// split sentence into words
p = strtok(txtline, delimit);
while(p) {
map_si[(string)p].cnt++;
map_si[(string)p].str = p; //如果要不区分大小写,可以用strlwr之类的方法忽略大小写
p = strtok(NULL,delimit);
}
// prepare for sort
map<string, combined>::iterator iter;
vector<combined> sort_obj;
iter = map_si.begin();
while (iter != map_si.end())
sort_obj.push_back((iter++)->second);
sort(sort_obj.begin(), sort_obj.end(), cmp);
// output result
cout<<"统计结果如下:"<<endl;
for (i = 0; i < sort_obj.size(); i++)
cout << sort_obj[i].str<< " \t" <<sort_obj[i].cnt << endl;
return 0;
}
bool cmp(combined i1, combined i2){
return i1.cnt > i2.cnt;
}
算法二:
#include<iostream>
#include<string>
using namespace std;
struct word
{
string w;
int n;
int flag;
};
void handle(word str[]);
void stat(word str[],word sum[]);
void sort(word sum[]);
void output(word sum[]);
int words;
main()
{
word str[1000],sum[100];
handle(str);
stat(str,sum);
sort(sum);
output(sum);
}
void handle(word str[1000])
{
char ch,s[10];
int i,j;
i=0;
j=0;
while((ch=cin.get())!='\n')
{
if((ch!=' ' )&&( ch!=',' )&&( ch!='.'))
s[i++]=ch;
else
{
s[i]='\0';
str[j].w=s;
str[j].n=1;
str[j].flag=0;
j++;
i=0;
strcpy(s,"");
}
}
str[j++].w=s;
words=j;
}
void stat(word str[1000],word sum[1000])
{
int i,j,k;
j=0;
k=0;
for(i=0;i<words;i++)
{
if(str[i].w!="" && str[i].flag==0)
{
str[i].flag=2;
for(j=i+1;j<words;j++)
{
if(str[j].w==str[i].w)
{
str[i].n++;
str[j].flag=1;
}
}
}
}
for(i=0;i<words;i++)
if(str[i].flag==2)
sum[k++]=str[i];
words=k;
}
void sort(word sum[])
{
int i,j;
word t;
for(i=0;i<words-1;i++)
for(j=0;j<words-i;j++)
if(sum[j].n<sum[j+1].n)
{
t=sum[j];
sum[j]=sum[j+1];
sum[j+1]=t;
}
}
void output(word sum[])
{
for(int i=0;i<words;i++)
cout<<sum[i].w<<" "<<sum[i].n<<endl;
}
或者:
#include<iostream>
#include<map>
#include<algorithm>
#include<string>
using namespace std;
int main()
{
string s;
getline(cin, s);
int i = 0;
int flag = 0;
int st = -1, ed = -1;
map<string, int> m;
string str;
while (s[i] != '\0')
{
if (s[i] >= 'a'&&s[i] <= 'z' || s[i] >= 'A'&&s[i] <= 'Z')
{
if (flag == 0) //mean the last word is end
{
st = i; //the location of a new word
flag = 1;
}
}
if (s[i] == ' ' || s[i] == ',' || s[i] == '.')
{
if (flag == 1)
{
ed = i - 1; //the location of the ending of a word
str = s.substr(st, ed - st + 1);
m[str]++;
flag = 0;
st = -1; //just for the follow "if(st!=-1)"
}
}
i++;
}
if (st != -1) //if sentence is not end of ".'
{
str = s.substr(st, s.length() - st);
m[str]++;
}
map<string, int>::iterator it; //map sort seem cannot use sort of STL.
while (!m.empty())
{
map<string, int>::iterator max;
相关话题/计算机
电子科技大学820计算机复试自己编写C复试答案
1、单链表逆序(考频:5次)不用输入就在函数内生成 函数内生成数据如下: Head=malloc(sizeof(struct LNode)); Head-next=NULL; For(i=5;i=0;i--) { P=malloc(sizeof(struct LNode)); P-val=i; P-next=head- Head-next=p;//头插法建立数据 } #include stdio.h #includemalloc ...专业课考研资料 本站小编 福瑞考研网 2017-04-22武汉理工大学材料学院考研复试答案(专业课+计算机基础)
武汉理工大学材料学院考研复试答案总结 1、材料科学与工程的定义及特点。 材料科学与工程就是研究有关材料组成, 结构, 制备工艺流程与材料性能与用途之间关系的产生和应用的学科。材料科学与工程的特点: (1)多学科交叉。材料科学与工程具有与物理学,化学,冶金学,金属学,陶瓷学,计算数学等互相融合和交叉的结果. (2)具 ...专业课考研资料 本站小编 福瑞考研网 2017-04-222016大连理工大学计算机组成原理期末考试试卷
专业课考研资料 本站小编 福瑞考研网 2017-04-19东北大学2017计算机考研复试回忆考研真题
东北大学2017考研计算机复试笔试回忆 第一部分:数据库(30分) 多选题 1, 2,安全控制什么的(记不清了) 3,读脏数据的情况是() 4,事物的原子性是指() 设计题 一个公司有多个生产厂家,多个生产厂家生产一款产品,一家成产长家生产数款产品。现在该公司想设计一个数据库管理helli ...专业课考研资料 本站小编 福瑞考研网 2017-04-12重庆大学2013年计算机复试考研题目
2013重大C上机试题 1.(25)输出5位以内的对称素数 2.(35)有一个天平,有六种砝码,分别重1,2,3,5,10,20克,每种砝码各有5,3,2,2,1,1个,计算天平能称出的重量及种类 3.(40&)输入n个由0和1组成的字符串(n由用户输入),规定字符串的比较规则如下: a.字符串长的比较大 ...专业课考研资料 本站小编 福瑞考研网 2017-04-09天津大学计算机学院非全日制2017考研调剂信息发布
根据计算机学院2017年招生指标及硕士研究生报考情况,计算机学院2017年接收校内外非全日制硕士研究生调剂考生,欢迎全国优秀考生调剂到计算机学院攻读硕士学位研究生。 一、基本条件 我院非全日制专业学位(领域)研究生接收院内、校内、校外调剂。调剂基本条件为:考生第一志愿报考专业成绩须达到我校对应学科复试 ...考研调剂信息 本站小编 福瑞考研网 2017-04-02安徽大学考研复试计算机组成原理考研真题
安徽大学 《计算机组成与结构 》考试试题参考答案及评分标准 一、选择题(每小空1分,共10分) 1. 超前进位加法电路引入的进位产生函数Gi=(D)。 A.XiYi B.XiYi C.(XiYi)XiYi D.XiYi 2. 下述 (A)属于时序逻辑电路。 A.触发器 B.译码器 C.数据选择器 D.加 ...专业课考研资料 本站小编 福瑞考研网 2017-03-262017泰晤士英国大学排名计算机科学专业英国大学榜单
2017年泰晤士报英国大学排名出炉,以下为您带来2017年泰晤士报英国大学排名计算机科学专业英国大学榜单,希望2017年泰晤士报英国大学排名计算机科学专业英国大学榜单能够对您的英国留学选校提供一定的帮助。 以下就是2017泰晤士英国大学排名计算机科学专业英国大学榜单 专业排名 综 ...英国留学 本站小编 福瑞考研网 2017-03-252018年USNews美国大学研究生专业排名计算机科学专业排名
2018年USNews美国大学研究生专业排名计算机科学专业排名于2017年3月14日正式发布。此次美国大学研究生专业排名同样基于商业、教育、工程、医学、法律和护理等六大专业;当然,其中包含了六大类专业中的各个具体专业排名。 据USNews官方介绍,2018年USNews美国大学研究生专业排名计算机科学专业排名 ...美国留学 本站小编 福瑞考研网 2017-03-192018年USNews美国大学研究生专业排名计算机工程专业排名
2018年USNews美国大学研究生专业排名计算机工程专业排名于2017年3月14日正式发布。此次美国大学研究生专业排名同样基于商业、教育、工程、医学、法律和护理等六大专业;当然,其中包含了六大类专业中的各个具体专业排名。 据USNews官方介绍,2018年USNews美国大学研究生专业排名计算机工程专业排 ...美国留学 本站小编 福瑞考研网 2017-03-19常同学成功申请萨省大学计算机科学专业本科
常同学,在鑫泉留学精英团队的帮助下,在无语言成绩的情况下,被萨省大学计算机科学专业录取。今天给大家分享一下常同学之所以能成功申请萨省大学计算机科学本科的申请解析!希望通过这个案例可以给与常同学申请条件类似的同学们提供申请方面的参考! 萨省大学计算机科学专业本科成功案例分享: 学生姓名:常同 ...美国留学 本站小编 免费考研网 2017-03-19曼彻斯特大学计算机系统工程硕士申请案例分享
曼彻斯特大学计算机系统工程硕士申请条件是什么?以下是杨同学的真实申请案例:他毕业于西北工业大学物联网工程专业,申请时无语言成绩,GPA78,在鑫泉留学的帮助下成功申请了曼彻斯特大学的计算机系统工程硕士。 曼彻斯特大学计算机系统工程硕士申请条件 GPA 75%, 雅思总分6.5(单项不低6.0) ...美国留学 本站小编 免费考研网 2017-03-19特拉华大学电气与计算机工程专业硕士申请案例解读
孙同学,在鑫泉留学团队的帮助下,以GPA2.7,托福97,GRE309的成绩,被特拉华大学电气与计算机工程专业硕士录取。今天跟大家分享一下孙同学特拉华大学电气与计算机工程专业硕士录取过程全解读!希望通过这个案例可以给与孙同学申请条件类似的同学们提供申请方面的参考! 特拉华大学电气与计算机工程专 ...美国留学 本站小编 免费考研网 2017-03-19罗格斯大学计算机科学专业硕士申请成功案例分享
马同学,在鑫泉留学团队的帮助下,以GPA2.9,托福98,GRE321的成绩,成功被罗格斯大学计算机科学专业硕士录取。今天跟大家分享一下马同学罗格斯大学计算机科学专业硕士录取过程全解读!希望通过这个案例可以给与马同学申请背景相仿的同学提供美国硕士申请方面的参考! 罗格斯大学计算机科学专业硕士申 ...美国留学 本站小编 免费考研网 2017-03-19惠灵顿维多利亚大学电子计算机系统硕士申请案例
惠灵顿维多利亚大学电子计算机系统硕士申请实战分析:毛同学毕业于中国矿业大学徐海学院自动化专业,雅思成绩仅有5.0,不过平均分高达82,在鑫泉留学的帮助下搭配语言课程顺利被惠灵顿维多利亚大学电子计算机系统硕士录取。 惠灵顿维多利亚大学电子计算机系统硕士申请条件: 雅思成绩 6.5 (6.0) ...美国留学 本站小编 免费考研网 2017-03-19