c语言编程:假定输入的字符中只包含字母和*号,将该字符串中除尾部的*外,其余的全部*删除

如题所述

第1个回答  2011-03-13
这样的c语言编程在计算机二级考试中很普遍的,这样的题目都是关于字符串的查找删除问题。我给你举一个简单的例子吧,多揣摩一下是没有什么问题的。
例如,字符串的内容为“****A*BC*DEF*G****”,处理后就应该事“ABCDEFG****”
c语言程序如下:
#include<conio.h>
#include<stdio.h>
void fun(char *a,char *p)
{
char *t=a;
for(;t<=p;t++)
if(*t!="*")
*(a++)=*t;
for(;*t!=‘\0’;t++)
*(a++)=*t;
*a='\0';
}
void main()
{
char s[81],*t;
printf("请输入一个字符串:\n");
gets(s);
t=s;
while(*t)
t++;
t--;
while(*t)
t--;
while(*t=='*')
t--;
fun(s,t)
printf("字符串整理后为:\n");
puts(s);
}
第2个回答  2011-03-10
string removeStarsInStr(string str)
{
bool endstar = true;
string ret= "";
for( int i = strlen(str)-1; i >= 0; i-- )
{
if( str[i] != '*')
{
enstar = false;
ret = ret+str[i];
}
else{
if( endstar ) ret = ret + str[i];
}
}
}本回答被提问者采纳
相似回答