zoukankan      html  css  js  c++  java
  • 华为2011机试题

      

    语言识别问题

    时间限制(普通/Java):10000MS/30000MS          运行内存限制:65536KByte

    问题描述

    给你一段英文或德文文字,你能编程识别它可能是哪种语言吗?研究发现,统计文字中字母“t”(或“T”)与“s”(或“S”)出现的次数,如果给定文字中“t”(或“T”)的出现次数比“s”(或“S”)多,则可能为英文,否则可能为德文。

    问题输入

    输入包括多个行数,首先给出整数N(1<N<10000),接着给出N行文字,每一行文字至少包括一个字符,至多100个字符。

    问题输出

    输出包括一行,如果输入文字可能为英文,则输出English,否则输出Deutsch。

    样例输入

    6

    ON THIS THE REST OF THE ACHAEANS WITH

    ONE VOICE WERE FOR RESPECTING

    THE PRIEST AND TAKING THE RANSOM THAT HE OFFERED; BUT NOT SO AGAMEMNON,

    WHO SPOKE FIERCELY TO HIM AND SENT HIM ROUGHLY AWAY.

    OLD MAN, SAID HE,

    LET ME NOT FIND YOU TARRYING ABOUT OUR SHIPS

    样例输出

    English

    提示

    本题纯属虚构

    实现:

    #include<string>
    #include<stdio.h>
    #include<stdlib.h>
    #include<iostream>
    using namespace std;
    #define NUM 100
    
    int language_rec( char (*str)[NUM],int num)
    {
     
        int s_num=0;
        int t_num=0;
     for(int i=0;i<num;i++)
     {int j=0;
        while(str[i][j]!='')
        {
          if((str[i][j]=='s')||str[i][j]=='S')
              s_num++;
          else if ((str[i][j]=='t')||str[i][j]=='T')
              t_num++;
          j++;
        }
    
     }
     if(s_num>t_num)
         return 1;
     else if(s_num<t_num)
         return 2;
     else
         return 0;
    }
    int main()
    {  int num=2;
        char str[][NUM]={"start","tSToot"};
            int lan=language_rec(str,num);
        if(lan==1)
            cout<<"Deutsch"<<endl;
        else if(lan==2)
            cout<<"English"<<endl;
        else
            cout<<"Can not confirm.";
    
    }
  • 相关阅读:
    通过反射操作泛型
    Android学习笔记_4_单元测试
    Android学习笔记_3_四种布局
    Validform 基于表单验证
    Android学习笔记_2_发送短信
    Android学习笔记_1_拨打电话
    css ul dl dt 表格分页 文本框样式
    创建properties文件保存在WEB项目的classes文件下
    PS快捷键和常用小知识
    Mysql跨数据库(在同一IP地址中)复制表
  • 原文地址:https://www.cnblogs.com/mood3604/p/3166536.html
Copyright © 2011-2022 走看看