请编写一个函数void fun(char*ss),其功能是:将字符串 ss中所有下标为偶数位置上的字母转化为大写(若该位置上不是字母,则不转换)。 例如,若输入abc4Efg,则应输出AbC4EfG。 注意:部分源程序给出如下。 请勿改动

admin2010-09-14  29

问题 请编写一个函数void fun(char*ss),其功能是:将字符串 ss中所有下标为偶数位置上的字母转化为大写(若该位置上不是字母,则不转换)。
   例如,若输入abc4Efg,则应输出AbC4EfG。
   注意:部分源程序给出如下。
   请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
   试题程序:
   #include<conio. h>
   #include<stdio. h>
   void fun ( char *ss)
   {
   }
   main ( )
   {
   char tt[51];
   clrscr ();
   printf("Please enter an character string
         within 50 characters:\n");
   gets (tt);
   printf ("\n\nAfter changing, the string\n
           %s", tt);
   fun (tt);
   printf("\nbecomes\n \%s",tt);
   }

选项

答案void fun ( char *ss) {int i; for(i=0;ss[i]!=’\0’;i++) { if(i%2==0 && ss [i]>=’a’ && ss [i]<=’z’) /*将ss所指字符串中所有下标为偶数位置的字母转换成大写*/ ss[i]==ss[i]-32;} /*大写字母比相应的小写字母的ASCII码值小32*/ }

解析 从C语言的学习中我们知道,只要将小写字母减去32则转换成大写字母,将大写字母加上32则转成小写字母,该程序使用if语句实现该功能转换的。
转载请注明原文地址:https://jikaoti.com/ti/sKkiFFFM
0

最新回复(0)