第三题:请编写一个函数void fun(char*ss),其功能是:将字符串ss中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。
例如,若输入abc4EFg,则应输入aBc4EFg.。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include <conio.h>
#include <stdio.h>
#include <string.h>
void fun(char *ss)
{
}
void main( void )
{
char tt[51];
FILE *out;
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 );
out=fopen ("out.dat", "w");
strcpy(tt, "After changing, the string");
fun(tt);
fprintf(out, "%s", tt);
fclose (out );
}
第三题答案:
void fun(char *ss)
{
int i,n=0;
char *p=ss;
while(*p)
{
n++;
p++;
}
for (i=0;i<n;i++)
if((ss[i]>= ‘a’&& ss[i]<= ‘z’)&&i%2!=0)
ss[i]=ss[i]-32;
ss[i]= ‘\0’;
}