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.";
    
    }
  • 相关阅读:
    记录一个jsonb_array_elements因数据问题被坑的点
    postgresql 中的 with 用法
    Java中4个元注解
    Java8 stream filter map
    sql 函数
    sql 判断选择语句
    面试里的套路(1)
    python 路径
    postsql sqlalchemy的事务提交问题
    网站响应过慢问题
  • 原文地址:https://www.cnblogs.com/mood3604/p/3166536.html
Copyright © 2011-2022 走看看