最新面试考试题目含答案C语言字符串笔试题0Word下载.docx
《最新面试考试题目含答案C语言字符串笔试题0Word下载.docx》由会员分享,可在线阅读,更多相关《最新面试考试题目含答案C语言字符串笔试题0Word下载.docx(8页珍藏版)》请在冰豆网上搜索。
*描述:
*参数:
char*s,int*m
*返回值:
chLetter(数组chLetter[]的首元素地址)
*局部变量:
charchLetter[N];
*charchNumber[N];
*inti,j,k;
************************************************/
char*fun(char*s,int*m)//参数m是通过调试才想到的
{
//用来存放字母
charchNumber[N];
//用来存放数字
inti,j,k;
i=0;
//初始化
j=0;
//j用来记录字母的个数
k=0;
//k用来记录数字的个数
for(i=0;
i
if(s[i]=As[i]=Z//将字母存入chLetter[]
||s[i]=as[i]=z)
chLetter[j]=s[i];
j++;
}
if(s[i]=0s[i]=9)//将数字存入chNumber[]
chNumber[k]=s[i];
k++;
chLetter[j]=
chNumber[k]=
*m=j+k;
//用来返回最后输入和输出时字符的个数
strcat(chLetter,chNumber);
returnchLetter;
//主函数
voidmain()
chars[N];
inti;
intm;
char*p;
p=NULL;
printf(请输入字符串(30字符以内):
n
scanf(%s,s);
p=fun(s,//刚开始没定义出这个m来现限制指针p所指数组的长度就出现了后面两个字符乱码
s[i]=p[i];
printf(结果为:
printf(%c,s[i]);
printf(n
C语言字符串笔试题篇2
将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换为t2所指字符串。
#include
#defineN30//s所指字符串的最大长度
#defineT2//t1和t2所指字符串的长度
将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换为t2所指字符串
char*s,char*t1,char*t2,int*m
(数组[]的首元素地址)
char[N];
*chartemp[T];
*chart1temp[T];
*inti,j,k,l;
char*fun(char*s,char*t1,char*t2,int*m)//m的作用和第一题一样,没m最后两个字符会乱码(想寻求其他方法)
//用来存放处理后的字符串
chartemp[T];
//用来存放从s所指字符串中截取的子串
chart1temp[T];
//用来存放t1所指字符串
inti,j,k,l;
//向t1temp中存入t1所指字符串
i
t1temp[i]=t1[i];
t1temp[T]=
//求m所指的值
i
if(s[i]==)
*m=i;
//寻找相同时的最后一个字符的下标
l=0;
for(j=i;
j(i+T);
j++,l++)//截取长度为T的子串存到temp[]中
temp[l]=s[j];
temp[T]=
if(strcmp(t1temp,temp)==0)
k=i;
//k记录相同时的最后一个字符的下标
if(i=ki(k+T))//在找到的k点处开始换值
[i]=t2[j];
//换值
else
[i]=s[i];
return;
chart1[T];
chart2[T];
printf(请输入字符串(20字符以内):
printf(请输入将要被替换的子字符串(仅限两个字符):
scanf(%s,t1);
printf(请输入将要用来替换的字字符串(仅限两个字符):
scanf(%s,t2);
p=fun(s,t1,t2,
C语言字符串笔试题篇3
将s所指的字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。
2010126
char*s,int*m
returnt,(t为指向数组的指针)
char*t;
*chartemp[N];
*inti,j=0;
char*fun(char*s,int*m)
chartemp[N];
//临时的数组,用来存放t所指的数组
inti,j=0;
t=temp;
if(s[i]%2==0)
temp[j]=s[i];
//如果是偶数,赋值给t所指的数组
if(s[i]==)//找到m的值先要找出输入了多少个字符
break;
*m=j;
//找到m的值即输出结果的长度
t[j]=
returnt;