使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。完成函数ToUpper(char*des,char*str),该函数实现把str字符串中小写字符转换成大写字符,并存发在des中。 例如:str=“aBc

admin2015-05-30  15

问题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。完成函数ToUpper(char*des,char*str),该函数实现把str字符串中小写字符转换成大写字符,并存发在des中。
  例如:str=“aBcdrFGHijK”:
  则:des=“ABCDEFGHIJK”:
  注意:不能修改程序的其他部分,只能补充ToUpper 0函数。
    1    #include
    2    #define MAXLEN 1024
    3  void ToUpper(char*des,char*str)
    4    {
    5
    6  }
    7    void main()
    8    {
    9    char dest[MAXLEN];
    10    char*str="aBcdrFGHij K";
    11    ToUpper(dest,str);
    12    cout<    13    return;
    14    }

选项

答案1 for(int i=0 ; str[i] !=0 ; i++) 2 { 3 if( str[i] >=’a’ &&str[i] <=’z’) //比较是否是小写字母 4 { 5 des[i]=str[i]-’a’+’A’; //替换成大写字母 6 ) 7 else 8 { 9 des[i]=str[i]; //其他情况不变 10 } 11 deS[i+1]=0 ; 12 }

解析 函数ToUpper(char木des,char*str),该函数实现把str字符串中小写字符转换成大写字符,可利用循环检查字符串str中的每一个字符,判断该字符是不是小写字母,如果是则转换成大写字母。
    [解题思路]
    (1)由审题分析可知,可利用循环来逐个检索str中的字符,循环变量i从0开始,直到str数组的结束,即str==0为循环结束条件。
    (2)小写字母的判别方式为:str>=’a’&&str<=’z’,即该字符比’z’小,而且比’a’大,如果满足该条件则在该字符基础上加上(’A’-’a’)值转换为大写字母;如果是其他字符的话,无需转换,直接刚该字符放到des数组中。
转载请注明原文地址:https://kaotiyun.com/show/8JNp777K
0

最新回复(0)