一维字符数组大小写转换及字符与数字转换
第一套
、程序填空题1
1)下列给定程序中,函数 fun()的作用是:将字符串 tt 中的大写字母都改为对应的小写字母,其他
字符不变。例如,若输入"Ab,cD",则输出"ab,cd"。
#include < stdio.h >
#include < string.h >
#include < conio.h >
char ____1__fun(char tt[])
{ int i;
for(i=0;tt[i];i++)
{ if((tt[i] >='A')&&(tt[i]< = ____2___))
tt[i]+=32;
}
return(tt);
}
main()
{ char tt[81];
printf("\nPlease enter a string: ");
gets(tt);
printf("\nThe result string is: \n%s",fun(___3___)); }
2)函数 fun 的功能是进行数字字符转换。若形参 ch 中是数字字符'0','9',则'0'转换成'9','1'转换成
'8','2'转换成'7',……,'9'转换成'0';若是其它字符则保持不变;并将转换后的结果作为函数值返回。 请
在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存在考生文件夹下的BLANK1.C 中。不得增行或删行,也不得更改程序的结构~
#include < stdio.h >
/**********found**********/
___【1】___ fun(char ch)
{
/**********found**********/
if (ch>='0' && ___【2】___)
/**********found**********/
return '9' - (ch - ___【3】___ );
return ch;
}
main()
{ char c1, c2;
printf("\nThe result :\n");
c1='2'; c2 = fun(c1);
printf("c1=%c c2=%c\n", c1, c2);
c1='8'; c2 = fun(c1);
printf("c1=%c c2=%c\n", c1, c2);
c1='a'; c2 = fun(c1);
printf("c1=%c c2=%c\n", c1, c2); }
2、程序改错题
给定程序 modi.c 中函数 fun 的功能是:首先将大写字母转换为对应小写字母;若小写字母为 a,u,
则将其转换为其后的第 5 个字母;若小写字母为 v,z,使其值减 21。转换后的小写字母作为函数值返回。
例如,若形参是字母 A,则转换为小写字母 f;若形参是字母 W,则转换为小写字母 b。 请改正函数 fun 中
指定部位的错误,使它能得出正确的结果。
注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构~ #include < stdio.h >
#include < ctype.h >
char fun(char c)
{ if(c>='A' && c<='Z')
/**************found**************/
c=c-32;
if(c>='a' && c<='u')
/**************found**************/
c=c-5;
else if(c>='v' && c<='z')
c=c-21;
return c;
}
main()
{ char c1, c2;
printf("\nEnter a letter(A-Z): ");
c1=getchar();
if(isupper(c1))
{ c2=fun(c1);
printf("\n\nThe letter '%c' change to '%c'\n", c1, c2);
}
else printf("\nEnter (A-Z)!\n");
}
3、程序
题
请编写函数 fun,函数的功能是:将 s 所指字符串中下标为奇数位置上的大写字母转换为字母序列中
的下一个小写字母;若该位置上是小写字母,则不转换;若该位置上是大写字母 Z,则仅转换成小写字母 z。
例如,输入:ABCdXZZZZ,则输出为:AcCdXzZz。
注意:部分源程序存在文件 prog.c 中。 请勿改动主函数main 和其他函数中的任何内容,仅在函数
fun 的花括号中填入你编写的若干语句。
#include < stdio.h >
#define N 80
void fun(char *s)
{ }
main()
{ char s[N];
printf("Enter a string: "); scanf("%s",s);
fun(s);
printf("The result:%s",s);
}
第二套
1、 程序填空题
1)请补充函数 fun(),该函数的功能是:把一个整数转换成字符串,并倒序保存在字符数组 str 中。
例如:当 n=13572468 时,str=“86427531”。
注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数fun 的横
线上填入所编写的若干表达式或语句。
#include< stdio.h >
#include< conio.h >
#define N 80
char str[N];
void fun(long int n)
{ int i=0;
while(【1】)
{ str[i]=【2】;
n/=10;
i++;
}
【3】;
}
main()
{ long int n=13572468;
printf("*** the origial data ***\n");
printf("n=%ld",n);
fun(n);
printf("\n%s",str);
}
2)str 是一个由数字和字母字符组成的字符串,由变量 num 传入字符串长度。请补充函数 fun(),该
函数的功能是:把字符串 str 中的数字字符转换成数字并存放到整型数组 bb 中,函数返回数组 bb 的长
度。 例如:str=“Bcd123e456hui890”,结果为:123456890。 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun()的横
线上填入所编写的若干表达式或语句。
#include< stdio.h >
#define N 80
int bb[N];
int fun(char s[],int bb[],int num)
{ int i,n=0;
for(i=0;i< num;i++)
{ if(【1】)
{ bb[n]=【2】;
n++;
}
}
return 【3】;
}
main()
{ char str[N];
int num=0,n,i;
printf("Enter a string:\n");
gets(str);
while(str[num])
num++;
n=fun(str,bb,num);
printf("\nbb= ");
for(i=0;i< n;i++)
printf("%d",bb[i]); }
2、程序改错题
给定程序 modi.c 中,函数 fun 的功能是:将字符串 tt 中的小写字母改为对应的大写字母,其它字
符不变。例如,若输入"Ab,cD",则输出"AB,CD"。 请改正程序中的错误,使它能得出正确结果。
注意:不要改动 main 函数。
#include < conio.h >
#include < stdio.h >
#include < string.h >
char *fun(char tt[]) { int i;
for(i=0;tt[i];i++) /************found************/
if(('a'<=tt[i]) || (tt[i]<='z'))
/************found************/
tt[i]+=32;
return(tt);
}
main()
{ int i;
char tt[81];
printf("\nPlease enter a string:");
gets(tt);
printf("\nThe result string is:\n%s", fun(tt));
}
3、程序设计题
请编写一个函数 fun,它的功能是:将一个数字字符串转换为一个整数(不得调用 C 语言提供的将字
符串转换为整数的函数)。例如,若输入字符串"-1234",则函数把它转换为整数值 -1234。
注意:部分源程序存在文件 prog.c中。 请勿改动主函数 main 和其它函数中的任何内容, 仅在函数
fun 的花括号中填入你编写的若干语句。 #include < stdio.h >
#include < string.h >
long fun(char *p)
{ }
main() /* 主函数 */
{ char s[6];
long n;
printf("Enter a string:\n") ;
gets(s);
n = fun(s);
printf("%ld\n", n); }
、程序填空题1
下列给定的程序中,fun()函数的功能是:将 p 所指字符串中每个单词的最后一个字母改成大写(这里
的"单词"是指有空格隔开的字符串)。例如,若输入: I am a student to take the examination 应输出:I aM A
studenT tO takE thE examinatioN 题程序: #include < conio.h >
#include < ctype.h >
#include < stdio.h >
#include < string.h >
void fun(char *p) { int k=0;
for ( ;*p;p++)
if (k)
{ if (*p==' ')
{ ____1_____;
___2____=toupper(*(p-1));
}
}
else k=1;
}
main()
{ char chrstr[64];
int d;
printf("\nPlease enter an English sentence within 63 letters: ");
gets(chrstr);
d=strlen(chrstr);
chrstr[d]=' ';
chrstr[d+1]=0;
printf("\nBofore changing:\n %s",chrstr);
_____3____;
printf("\nAfter changing:\n %s",chrstr); }
、程序填空题2
函数 fun 的功能是:将字符串 tt 中的小写字母改为对应的大写字母,其它字符不变。例如,若输入
"Ab,cD",则输出"AB,CD"。
#include < conio.h >
#include < stdio.h >
#include < string.h >
char *fun(char tt[]) { int i;
for(i=0;tt[i];i++)
/************found************/
if(('a'< =tt[i])&&(tt[i]< =__1___))
/************found************/
tt[i]-=__2____;
return(tt);
}
main()
{ char tt[81];
printf("\nPlease enter a string:");
gets(tt);
printf("\nThe result string is:\n%s",fun(tt));
}
、程序填空题3
给定程序的功能是将大写字母转换为对应小写字母之后的第五个字母;若小写字母为 v,z,使小写
字母的值减 21。转换后的小写字母作为函数值返回。例如,若形参是字母 A,则转换为小写字母 f;若
形参是字母 W,则转换为小写字母b。
#include < stdio.h >
#include < ctype.h >
char fun(char c)
{ if( c >='A' && c< ='Z')
c=c+32;
if(c>='a' && c<='u') /**************found**************/
c=c+ __【1】__;
else if(c>='v' && c<='z')
c=c-21;
/**************found**************/
return __【2】__ ;
}
main()
{ char c1,c2;
printf("\nEnter a letter(A-Z):"); c1=getchar();
if(isupper(c1)) {
/**************found**************/
c2=fun(__【3】__);
printf("\n\nThe letter '%c' change to '%c'\n", c1,c2);
}
else printf("\nEnter (A-Z)!\n"); }
、程序填空题4
下列给定程序中,函数 fun()的功能是:将 s 所指字符串中的字母转换为按字母序列的后续字母(但 Z
转化为 A,z 转化为 a),其他字符不变。
#include < stdio.h >
#include < ctype.h >
#include < conio.h >
void fun(char *s)
{ while(__1__)
{ if(*s >='A'&&*s< ='Z'||*s >='a'&&*s< ='z')
{ if(*s=='Z') *s='A';
else if(*s=='z') *s='a';
else *s+=__2__;
}
__3__;
}
}
main()
{ char s[80];
printf("\n Enter a string with length< 80:\n\n"); gets (s);
printf("\n The string:\n\n"); puts(s); fun(s);
printf("\n\n The Cords :\n\n"); puts(s); }
、程序填空题5
给定程序的功能是把 s 串中所有的字母改写成该字母的下一个字母,字母 z 改写成字母 a。大写字
母仍为大写字母,小写字母仍为小写字母,其它的字符不变。 例如:s 串中原有的字符串为:Mn.123Zxy,
则调用该函数后,s 串中的内容为:No.123Ayz。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确结果。 #include < string.h >
#include < stdio.h >
#include < ctype.h >
#define N 81
fun ( char *s )
{/**************found**************/
char *p = ___1___ ;
while(*p)
{
/**************found**************/
if(*p == 'Z') *p = ___2___ ;
/**************found**************/
else if(*p == 'z') *p = ___3___ ;
else if(isalpha(*p)) *p = (*p) + 1 ;
p++ ;
}
}
main( )
{ char a[N];
printf ( "Enter a string : " ); gets ( a );
printf ( "The original string is : " ); puts( a );
fun ( a );
printf ( "The string after modified : ");
puts ( a );
}
、程序改错题6
给定程序 modi.c 功能是:读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出
此文本行(这里的"单词"是指由空格隔开的字符串)。 例如,若输入:I am a student to take the examination.,
则应输出:I Am A Student To Take The Examination.。 请改正程序中的错误,使它能得出正确结果。
注意:不要改动 main 函数。
#include < ctype.h >
#include < string.h >
/************found************/
include (stdio.a)
/************found************/
upfst (char p)
{ int k=0;
for ( ;*p;p++)
if (k)
{ if (*p==' ') k=0; }
else if (*p!=' ')
{ k=1; *p=toupper(*p);}
}
main()
{ char chrstr[81];
printf("\nPlease enter an English test line:");
gets(chrstr);
printf("\n\nBefore changing:\n %s",chrstr);
upfst(chrstr);
printf("\nAfter changing:\n %s\n",chrstr);
}
7、程序设计题
请编写一个函数 fun(char *s),函数的功能是把字符串中所有的字母改写在该字母的下一个字母,最后
一个字母 z 改写成字母 a。大写字母仍为大写字母,小写字母仍为小写字母,其他的字符不变。 例如,
原有的字符串为:Mn.123xyZ,则调用该函数后,串中的内容为:No.123yzA。 注意:部分源程序存在文件 prog.c中。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数
fun 的花括号中填入你编写的若干语句。
#include < conio.h >
#include < string.h >
#include < stdio.h >
#include < ctype.h >
#define N 81
fun(char *s)
{ }
main()
{ char a[N];
printf("Enter a string:");gets(a);
printf("The original string is :");puts(a);
fun(a);
printf("The string after modified: ");
puts(a);
}
、程序设计题8
请编一个函数 char * EXUL(char tt[]),它的功能是:将字符串 tt 中的大写字母都改为对应的小写字母,其它字符不变并返回修改后的字符串。 例如,若输入字符串:"Ab, cD",则输出结果为:"ab, cd"。 注意:此程序存贮在 prog.c中。 请勿改动主程序 main、函数 WriteData 和函数 compute 中的任何内容,仅在函数 EXUL 的花括号中填入你编写的若干语句。
#include < conio.h >
#include < stdio.h >
#include < string.h >
char* EXUL( char tt[] )
{ }
main()
{ int i;
char tt[81];
printf("\nPlease enter a string: ");
gets( tt );
printf( "\nThe result string is:%s\n", EXUL( tt ) ); }
9、程序设计题
请编写一个函数 fun,它的功能是:将 ss 所指字符串中所有下标为奇数位置上的字母转换成大写(若该位置上不是字母,则不转换)。 例如,若输入“abc4EFG”,则应输出“aBc4EFG”。 注意:部分源程序存在文件 prog.c 中。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。
#include < conio.h >
#include < stdio.h >
#include < string.h >
void fun(char *ss)
{ }
main()
{ char tt[81];
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);
}