请编写一个函数fun(),它的功能是:将ss所指字符串中所有下标为奇数位置的字母转换为大写(若该位置上不是字母,则不转换)。
例如,若输入abc4Efg,则应输出aBc4EFg。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数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==1&&ss[i]>=’a’ &&SS[i]<=’z’)
ss[i]=ss[i]-32;
}
解析: 从C语言的学习中我们知道,只要将小写字母减去32则转成大写字母,将大写字母加上32则转成小写字母。该程序是用if语句实现该功能转化的。