1、最新面试考试题目含答案C语言字符串笔试题0C语言字符串笔试题 C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。下面就由为大家介绍一下C语言字符串笔试题的文章,欢迎阅读。 C语言字符串笔试题篇1 对一个字符串重新排列,字母排在前面,数字排在后面,并不改变原来字母之间以及数字之间的字符顺序。 cpp vie plain copy print? #include #include #include #define N 30 /* *函数名称: fun *创建时间: 2010125 *描 述: 对一个字符串重新排列,字母排在前面,数字排在后面,并不改变原来字母之间以及数字之间的字符
2、顺序。 *参 数: char * s,int *m *返 回 值: chLetter(数组chLetter的首元素地址) *局部变量: char chLetterN; * char chNumberN; * int i,j,k; */ char * fun(char * s,int *m) /参数m是通过调试才想到的 char chLetterN; /用来存放字母 char chNumberN; /用来存放数字 int i,j,k; i=0; /初始化 j=0; /j用来记录字母的个数 k=0; /k用来记录数字的个数 for (i=0; i if (si = A si = Z /将字母存入c
3、hLetter | si = a si = z ) chLetterj=si; j+; if (si = 0 si = 9 ) /将数字存入chNumber chNumberk=si; k+; chLetterj= chNumberk= *m=j+k; /用来返回最后输入和输出时字符的个数 strcat(chLetter,chNumber); return chLetter; /主函数 void main() char sN; int i; int m; char *p; p=NULL; printf( 请输入字符串(30字符以内):n scanf( %s ,s); p=fun(s, /刚开始
4、没定义出这个m来现限制指针p所指数组的长度就出现了后面两个字符乱码 for (i=0; i si=pi; printf( 结果为: for (i=0; i printf( %c ,si); printf( n C语言字符串笔试题篇2 将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换为t2所指字符串。 cpp vie plain copy print? #include #include #include #define N 30 /s所指字符串的最大长度 #define T 2 /t1和t2所指字符串的长度 /* *函数名称: fun *创建时间: 2010125 *描 述: 将s
5、所指字符串中最后一次出现的与t1所指字符串相同的子串替换为t2所指字符串 *参 数: char * s,char * t1, char * t2,int *m *返 回 值: (数组的首元素地址) *局部变量: char N; * char tempT; * char t1tempT; * int i,j,k,l; */ char * fun(char * s,char * t1, char * t2,int *m) /m的作用和第一题一样,没m最后两个字符会乱码(想寻求其他方法) char N; /用来存放处理后的字符串 char tempT; /用来存放从s所指字符串中截取的子串 char
6、 t1tempT; /用来存放t1所指字符串 int i,j,k,l; /向t1temp中存入t1所指字符串 for (i=0; i t1tempi=t1i; t1tempT= /求m所指的值 for (i=0;i if (si= ) *m=i; /寻找相同时的最后一个字符的下标 for (i=0; i l=0; for (j=i; j (i+T); j+,l+) /截取长度为T的子串存到temp中 templ=sj; tempT= if (strcmp(t1temp,temp) = 0) k=i; /k记录相同时的最后一个字符的下标 for (i=0; i j=0; if (i =k i (
7、k+T) /在找到的k点处开始换值 i=t2j; /换值 j+; else i=si; return ; /主函数 void main() char sN; char t1T; char t2T; int i; int m; char *p; p=NULL; printf( 请输入字符串(20字符以内): scanf( %s ,s); printf( 请输入将要被替换的子字符串(仅限两个字符): scanf( %s ,t1); printf( 请输入将要用来替换的字字符串(仅限两个字符): scanf( %s ,t2); p=fun(s,t1,t2, for (i=0; i si=pi; pr
8、intf( 结果为: for (i=0; i printf( %c ,si); printf( n C语言字符串笔试题篇3 将s所指的字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。 cpp vie plain copy print? #include #include #include #define N 30 /* *函数名称: fun *创建时间: 2010126 *描 述: 将s所指的字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。 *参 数: char * s,int * m *返 回 值: return t,(t为
9、指向数组的指针) *局部变量: char * t; * char tempN; * int i,j=0; */ char * fun(char * s,int * m) char * t; char tempN; /临时的数组,用来存放t所指的数组 int i,j=0; t=temp; for (i=0; i if (si%2=0 ) tempj=si; /如果是偶数,赋值给t所指的数组 j+; if (si= ) /找到m的值先要找出输入了多少个字符 break; *m=j; /找到m的值即输出结果的长度 tj= return t; /主函数 void main() char sN; int i; int m; char *p; p=NULL; printf( 请输入字符串(30字符以内):n scanf( %s ,s); p=fun(s, /刚开始没定义出这个m来现限制指针p所指数组的长度就出现了后面两个字符乱码 for (i=0; i si=pi; printf( 结果为: for (i=0; i printf( %c ,si); printf( n
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1