请编写一个函数fun(),它的功能是:将ss所指字符串中所有下标为偶数位置的字母转换为小写(若该位置上不是字母,则不转换)。 例如,若输入ABC4efG,则应输出aBc4efg。 注意:部分源程序给出如下。 请勿改动主函数miain和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include<conio.h> #include<stdio.h> #include<string.h> void fun(char *ss) { } main() { char tt[81]; clrscr(); printf("\nPlease enter an string within 80 characters:\n"); gets(tt); printf("\n\nAfter changing,the string\n \%s",tt); fun(tt); printf("\nbecomes\n \%s\n",tt); }
参考答案:
解析:void fun(char *ss) { int i; for(i=0;ss[i]!=’\0’i++) /*将ss所指字符串中所有下标为偶数位置的字母转换为小写*/ if(i%2==0&&ss[i]>=’A’&&ss[i]<=’z’) ss[i]=ss[i]+32; } 从C语言的学习中我们知道,只要将小写字母减去32则转成大写字母,将大写字母加上32则转成小写字母。该程序是用if语句实现该功能转化的。