C语言:程序填空:输入一个字符,从字符串里找到第一个该字符的位置,将其以后的字符输出,之后将字串中的该字符都删除

阅读: 评论:0

C语言:程序填空:输入一个字符,从字符串里找到第一个该字符的位置,将其以后的字符输出,之后将字串中的该字符都删除

C语言:程序填空:输入一个字符,从字符串里找到第一个该字符的位置,将其以后的字符输出,之后将字串中的该字符都删除

题目来源:大工慕课 链接
作者:Caleb Sung

题目要求

要求:输入一个字符,从字符串里找到第一个该字符的位置,将其以后的字符输出,之后将字串中的该字符都删除,将删除后的字符串输出,同一字母的大、小写按不同字符处理。find函数的返回值是字串中该字符第一次出现的位置,如果没有该字符,返回空指针,del函数的返回值是字串首地址。

例如:若程序执行时初始字符串为:C and c++ languge is useful! 从键盘输入字符:n,则输出:“第一个n后的字串为:d c++ languge is useful!” ,接着输出“删除n后的字串:C ad c++ laguge is useful!”,也可以输入u,w 进行验证。

题目代码

#include "stdio.h"
char* find(char *s,char c)
{
/*********Begin**********/ /**********  End  **********/   
}
char* del(char *s,char c)
{/*********Begin**********/ /**********  End  **********/   
}int main()
{char str[]="C and c++ language is useful!";char ch,*p;printf("原始字符串:%sn", str);printf("输入一个字符:");scanf("%c",&ch);//******Fill*******/*____________________    //调用函数,使p指向字符出现的第一个位置。*/p=find(str,ch);if(p){printf("第一个%c后的字串为:%sn",ch,p+1);printf("删除%c后的字串:%sn",ch,del(str,ch));}else{printf("字符在字串中不存在。n");}return 0;
}

参考解答

题中划线填空的部分已经补全在题目代码的相应地方。
这道题因为没有引入string.h而不能使用strlen()来直接得到字符串的长度。

1. find()函数

char* find(char *s,char c)
{
/*********Begin**********/ char *x;for(x=s; *x!=0; x++){if(*x == c){return x;}}return NULL;
/**********  End  **********/   
}

2. del()函数

char* del(char *s,char c)
{/*********Begin**********/ char *x, *tmp;int len;x = s;while(*x){if(*x == c){for(tmp=x+1; *tmp!=''; tmp++){*(tmp-1) = *tmp;*tmp = '';}x = s;}else{x++;}}x = s;return x;/**********  End  **********/   
}

运行效果

输入测试字符a

原始字符串:C and c++ language is useful!
输入一个字符:a
第一个a后的字串为:nd c++ language is useful!
删除a后的字串:C nd c++ lnguge is useful!

符合题目要求。

本文发布于:2024-02-04 08:24:33,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170703033253928.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:字符   第一个   将其   后将   字符串
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23