9、 给定程序modi.c中,函数fun的功能是:将字符串tt中的小写字母改为对应的大写字母,其它字符不变。
例如,若输入"Ab,cD",则输出"AB,CD"。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
评析:
本题着重考察考生对C语言中一些简单算法的掌握情况。
本题中的第一个错误:由题意可知,当字符串中的字符大于a且小于z时(即为小写字母时),将其替换成大写字母。在C语言中,&&表示逻辑与,||表示逻辑或,所以程序中语句"if(('a'<=tt[i])||(tt[i]<='z'))"应改为"if(('a'<=tt[i])&&(tt[i]<='z'))"或相同作用的语句。
本题中的第二个错误:小写字母转换成大写字母,应将其ASCII值减去32,所以程序中语句"tt[i]+=32;"应改为"tt[i]-=32;"或相同作用的语句。
本评析仅作参考。
知识点:知识点/C程序修改
答案解析
相关题目
82、以下程序的输出结果是_______。
main()
{ char s[]="159",*p;
p=s;
printf( );
printf( );
}
81、下面程序的输出结果是_______。
main( )
{ extern int m;
m+=2;
f( );
printf( );}
int m=7;
f( )
{ printf( ); m+=m;}
80、下面程序的输出结果是_______。
main( )
{ extern int m;
m-=2;
f( );
printf( );}
int m=7;
f( )
{ printf( ); m+=m;}
79、下面程序的输出结果是_______。
main( )
{ extern int a;
a-=1;
f( );
printf( );}
int a=4;
void f( )
{ printf( ); a+=a;}
78、下面程序的输出结果是_______。
main( )
{ extern int a;
a+=3;
f( );
printf( );}
int a=2;
void f( )
{ printf( ); a+=a;}
77、下面程序的输出结果是_______。
m1( )
{ int y;
y=x*x;
return( );}
m2( )
{ int l;
l=m1( );
return( );}
main( )
{ int p=2,q=4,t;
t=m2( );
printf( );}
76、下面程序的输出结果是_______。
m1( )
{ int y;
y=x+x;
return( );}
m2( )
{ int z;
z=m1( );
return( );}
main( )
{ int a=3,b=6,c;
c=m2( );
printf( );}
75、下面程序的输出结果是_______。
f1( )
{ int y;
y=x+x;
return( );}
f2( )
{ int z;
z=f1( );
return( );}
main( )
{ int a=2,b=5,c;
c=f2( );
printf( );}
74、有以下程序
struct stu
{ char num[10];float score[3];};
main( )
{ struct stu s[3]={ {"20021",90,95,85},
{"20022",95,80,75},
{"20023",100,95,90} },*p;
int i; float sum=0;
p=s+2;
for(i=0;i<3;i++)
sum=sum+p->score[i];
printf("%6.2f\n",sum);}
程序运行后的输出结果是___________。
73、有以下程序
struct stu
{ char num[10];float score[3];};
main( )
{ struct stu s[3]={ {"20021",90,95,85},
{"20022",95,80,75},
{"20023",100,95,90} },*p;
int i; float sum=0;
p=s+1;
for(i=0;i<3;i++)
sum=sum+p->score[i];
printf("%.3f\n",sum);}
程序运行后的输出结果是___________。
