首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

恳请大师们指点…该如何解决

2012-05-12 
恳请大师们指点……这是一个c语言编程的试题: 将“***ABC***abc***”删除最左边的“***”变为“ABC***abc***(一

恳请大师们指点……
这是一个c语言编程的试题: 将“***ABC***abc***”删除最左边的“***”变为“ABC***abc***"(一定要在原字符串上进行操作);

我编写的程序是:
#include <stdio.h>
#include <string.h>
void main ()
{char a[]="***ABC***abc***";int i;
for (i=0;a[i]=='*';i++)
 a[i]=' ';
puts (a);
}
虽然运行后可以输出“ABC***abc***”,但貌似不符合要求;可是参考答案是这样的:
#include <stdio.h>
#include <string.h>
void main ()
{
char s[]="***abc***ABC***";
int i,j;
for (i=0;s[i]=='*';i++)
for (j=0,i=0;s[j]!=0;j++,i++)
s[i]=s[j];

puts(s);
}根本就运行不出结果。
我就郁闷了;
望大师们能给出符合要求的程序.(我是一c语言初学者,在此诚心请教,望大师们不吝赐教啊)谢谢。,衷心感谢~!

[解决办法]
注意是变为“ABC***abc***",而不是输出为“ABC***abc***"!
[解决办法]
#include <stdio.h>
#include <string.h>
void main ()
{
char s[]="***abc***ABC***";
int i,j;

i=0;
while ('*' == s[i])
{
++i;
}

for (j=0;'\0' != s[i];++j,++i)
{
s[j]=s[i];
}
s[j] = '\0';

puts(s);
}
[解决办法]

C/C++ code
#include <stdio.h>#include <string.h>void main (){    char s[]="***ABC***abc***";    int i,j;    for (i=0;s[i]=='*';i++);    for (j=0;s[j]!=0;j++,i++)        s[j]=s[i];    puts (s);}
[解决办法]
前几天回复过和你一样的帖子,自己找一下
[解决办法]
C/C++ code
#include <stdio.h>#include <string.h>void main (){    char s[]="***abc***ABC***";    int i,j;    int len = strlen(s);    for (i=0;s[i]=='*';)    {        for (j=i; j<len; j++)            s[j]=s[j+1];        puts(s);    }    system("PAUSE");}
[解决办法]
C/C++ code
void main (){    char s[]="***abc***ABC***";    int i,j=0;    for (i=0;s[i]=='*';i++,j++);    for (i=0;s[i]!='\0';i++)        s[i]=s[i+j];    puts(s);}
[解决办法]
C/C++ code
#include <iostream>#include <vector>using namespace std;int main(){        char a[]="***ABC***abc***";        vector<char> c_vec;        int i = 0;        while('*' == a[i])        {                i++;        }        for(int j= i; a[j] != '\0'; j++)        {                c_vec.push_back(a[j]);        }        for(vector<char>::iterator it = c_vec.begin(); it != c_vec.end(); it++)        {                cout<< *it;        }        return 0;} 

热点排行