c++题目 请编写函数fun 将字符串中的前导*全部移到字符串尾部
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++题目 请编写函数fun 将字符串中的前导*全部移到字符串尾部相关的知识,希望对你有一定的参考价值。
图片上
#include <iostream>using namespace std;
char* not_so_fun(char* str)
int i; //记录第一个不是*的字符位置
int j;
int len=strlen(str);
for (i=0; i<len; ++i)
if(str[i]!='*')
break;
for (j=i; j<len; ++j) //挪动字符
str[j-i]=str[j];
for (j=len-i; j<len; ++j) //尾部补*
str[j]='*';
return str;
int main()
char str[100]; //最多99个字符
cin>>str;
cout<<endl<<not_so_fun(str)<<endl;
system("pause");
return 0;
追问
谢谢
参考技术A string Fun(string& data , char c)static string str ; str.clear();
int flage = 0;
for ( int i = 0 ; i < data.length() ; ++i )
if ( data[i] == c )
flage++;
else
str += data[i];
for ( int i = 0 ; i < flage ; ++i )
str += c;
return str;
#include <sstream>
int main()
string str("中*国*啊");
string str1 = Fun(str , '*' );
return 0;
参考技术B char *StrDel(char* s)
char *p,*q;
int n=0;
p=s;
while(*p=='*')
n++;
p++;
q=s;
while(*p != '\0')
*q++ = *p;
p++;
for(;n>0;n--)
*q++ = '*';
*q = '\0';
参考技术C 厄……什么叫 前导*, 是前面N个字符?还是把所有的*都移到字符串尾部追问
图片上的
C语言试题七之将函数字符串中的前导*号全部删除,中间和尾部的*号不删除。
1、 题目
规定输入字符串中只包含字母和*号。请编写函数fun,它的功能是:将函数字符串中的前导*号全部删除,中间和尾部的*号不删除。
2 、温馨提示
大家好,如果程序有任何看不懂或者哪个步骤不理解的地方都可以加我微信(15874274916)私聊我,哪个步骤有问题也可以私聊我,或者有更好的思路解决办法都可以加我微私聊,一起探讨、一起进步、希望可以正真的帮助到你,同时也可以扫下面的二维码关注我微信公众号,比如你还对生活、美食或者其它方面都感兴趣,都可以加微信交流,博主擅长讲解计算机相关方面的知识、如果大家对计算机方向、前端、移动端、服务端、数据结构、算法、网络、高数等等一些列方向比较迷茫或者不知道要学哪些?或者具体怎么学?或者其它方向有任何困惑都可以找我交流,谢谢大家关注。
3、源代码实现
#include <stdio.h>
#include <math.h>
void function(char *s)
{
if (s == NULL)
{
printf("输入的数据不合法\\n");
return;
}
//我们先用old指针变量保存字符串的指针,也就是这个字
以上是关于c++题目 请编写函数fun 将字符串中的前导*全部移到字符串尾部的主要内容,如果未能解决你的问题,请参考以下文章
C语言试题四十二之假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。
C语言试题四十二之假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。
编写函数fun,它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除
C语言九十四之请编写函数fun(char *str, int n),其功能是:使字符串str的前导*号不能多余n个,若多于n个,则删除多余的*号,若少于或等于n个,则不做处理。
C语言九十四之请编写函数fun(char *str, int n),其功能是:使字符串str的前导*号不能多余n个,若多于n个,则删除多余的*号,若少于或等于n个,则不做处理。