题目:
请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换成大写(若该位置上不是字母,则不转换)。例如,若输入"abc4EFG",则应输出"aBc4EFG"。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include <stdio.h>
#include <string.h>
void fun( char *ss )
{
int i,j,len;
len=strlen(ss);
for(i=0;i<len;i++){
if(i%2==1&&ss[i]>='a'&&ss[i]<='z'){
ss[i]=ss[i]-'a'+'A';
}
}
}
void main( void )
{
char tt[51];void NONO ();
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 );
NONO();
getchar();
}
void NONO ()
{
/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,
输出数据,关闭文件。 */
char tt[51], ch;
FILE *rf, *wf ;
int len, i=0 ;
rf = fopen("in.dat","r") ;
wf = fopen("out.dat","w") ;
while(i < 10) {
fgets( tt, 50, rf );
len = strlen(tt) - 1 ;
ch = tt[len] ;
if(ch == '\n' || ch == 0x1a) tt[len] = 0 ;
fun(tt);
fprintf( wf, "%s\n", tt );
i++ ;
}
fclose(rf) ;
fclose(wf) ;
}