从键盘输入一组小写字母,保存在字符数组str中。请补充函数fun(),该函数的功能是:把字符数组str中字符下标为奇数的小写字母转换成对应的大写字母,结果仍保存在原数组中。 例如,输入“acegikm”,输出“aCeGiKm”。 注意:部分源程

admin2010-05-05  50

问题 从键盘输入一组小写字母,保存在字符数组str中。请补充函数fun(),该函数的功能是:把字符数组str中字符下标为奇数的小写字母转换成对应的大写字母,结果仍保存在原数组中。
   例如,输入“acegikm”,输出“aCeGiKm”。
   注意:部分源程序给出如下。
   请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
   试题程序:
       #include <stdio.h>
       #define N 80
       void fun (char s[])
       {
           int i=0;
           while (【  】)
           {  
           if (i%2!=0)
                 s-=【  】;
             【  】;
           }
      }
      main ()
      {
          char str [N];
          clrscr ();
          printf("\n Input a string:\n");
          gets (str);
          printf("\n*** original string ***\n");
          puts (str);
          fun (str);
          printf ("In*** new string ***\n");
          puts (str);
       }

选项

答案s[i]!= ’\0’或s[i] 32 或’a’-’A’ i++

解析 第一空:while循环的条件是当前参加判断的字符不为‘\0’,即还没有到字符串的最后一个字符。第二空:将小写字母转换为对应的大写字母的力法是,将字母的ASCII码减去32。‘a’-‘A’的结果就是32。第三空:通过i++依次访问字符串s中的各个字符。
转载请注明原文地址:https://kaotiyun.com/show/gHID777K
0

最新回复(0)