zoukankan      html  css  js  c++  java
  • 输出大写英文字母

    顺序输出给定字符串中所出现过的大写英文字母,每个字母只输出一遍;若无大写英文字母则输出“Not Found”。

    输入格式:
    输入为一个以回车结束的字符串(少于80个字符)。
    输出格式:
    按照输入的顺序在一行中输出所出现过的大写英文字母,每个字母只输出一遍。若无大写英文字母则输出“Not Found”。

    输入样例1:

    FONTNAME and FILENAME

    输出样例1:

    FONTAMEIL

    输入样例2:

    fontname and filrname

    输出样例2:

    Not Found

    (摘自pintia.cn)

    解答:

     1 #include<iostream>
     2 #include<string>
     3 using namespace std;
     4 bool isMajuscule(char);        //用于判断字符类型的形参是否为大写字母
     5 int main()
     6 {
     7     string str,result;        //str为输入的字符串,result为结果
     8     unsigned i(0),j(0);        //定义无符号类型变量,可以替换为int型
     9     getline(cin,str);        //获取一整行字符串,用于接收带有空格的字符串
    10     while(i<str.length())    
    11     {
    12         if(isMajuscule(str[i]))
    13         {
    14             bool flag(true);                //str[i]已经存在(不需要添加)则为false,不存在(需要添加)则为true
    15             for(unsigned k(0);k<j;k++)        //判断str[i]是否在result中存在
    16             {
    17                 if(str[i]==result[k])
    18                     flag=false;
    19             }
    20             if(flag)
    21             {
    22                 char ch(str[i]);
    23                 result=result+ch;            //向result添加字符
    24                 j++;
    25             }
    26         }
    27         i++;
    28     }
    29     if(result.length()) cout<<result;        //如果result不为空,则输出result
    30     else cout<<"Not Found";                    //result为空,则输出"Not Found"
    31     return 0;
    32 }
    33 inline bool isMajuscule(char ch)
    34 {
    35     if(ch>='A'&&ch<='Z') return true;        //判断ch是否在'A'和'Z'之间,即判断ch是否为大写
    36     else return false;
    37 }

    解析:

      见代码注释。

      由于string.length()的返回值为unsigned类型变量,因此使用返回值于int型变量比较时,编译器会报‘warning’,但不影响正确性。

      字符串类型的变量可以使用'+',用于连接字符串。

  • 相关阅读:
    学习ASP.NET MVC3(5) Controller
    关于测试
    [JAVA SE] Java反射机制
    Windows 8 的软件开发架构
    Servlet生命周期与工作原理
    展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告(转载)
    JAVA小游戏代码(剪刀石头布)
    [JAVA SE] JSP中pageEncoding和charset区别,中文乱码解决方案
    我是工程师,不是编译器
    自己对三层架构理论的理解
  • 原文地址:https://www.cnblogs.com/wzzdeblog/p/10614409.html
Copyright © 2011-2022 走看看