请编写函数 fun(), 该函数的功能是: 将 ss 所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母, 则不转换)。 例如, 若输入: abc4EFg, 则输出为: aBc4EFg。
注意: 部分源程序给出如下。
请勿改动主函数 main()和其他函数中的任何内容, 仅在函数 fun()的花括号中填入所编写的若干语句。
【试题源程序】
#include <stdio.h>
#include <string.h>
void fun(char *ss)
{
}
main()
{
char tt[51];
printf("\nPlease 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==1&&ss[i]>='a'&&ss[i]<='z')
ss[i]=ss[i]-32;
}
本题的设计思路是: ①利用循环遍历字符串; ②利用 if 语句判断字符是否为小写字母且其下标为奇数, 如果是则把字符减 32 转换成对应的大写字母。