您的位置:首页 > 其它

实现简单的输入编辑,录入正确的字符串,出现‘$’,表示撤销前一个输入, 发现连续的‘$’,表示连续撤销前面的输入;发现‘%’,表示放弃前面所有录入; 生成最终结果。

2016-02-24 14:12 621 查看
#include <stdio.h>

#include <string.h>

/*描述:       实现简单的输入编辑,录入正确的字符串,出现‘$’,表示撤销前一个输入,
     发现连续的‘$’,表示连续撤销前面的输入;发现‘%’,表示放弃前面所有录入;
     生成最终结果。

运行时间:    无限制

内存限制:    无限制

输入:        输入含有编辑信息的字符串

输出:        输出最终字符串

样例输入:    You areah$$ great!

样例输出:    You are great!*/

void main()

{
char a[128];
char b[128];
int len,i,j=0,k;
int c,n=0;
c=getchar();
for(i=0,len=0;i<128&&(c!=EOF);i++,len++)
{
//putchar(c);
a[i]=c;
c=getchar();

}
a[i]='\0';
len=strlen(a);
printf("\nlen=%d\n",len);

for(i=0,j=0;i<len;i++)
{
if(a[i]=='%')
{
j=i+1;
}

}

len=strlen(a);
printf("\nj=%d,%s\n",j,a);
//if(j>=1)
//j--;
for(i=j,n=0,k=0;i<len;i++,k++)
{
if(a[i]=='$')
{
printf("\n%d,%s,k=%d\n",__LINE__,__FILE__,k);
if(k>0)
{
//b[k]=0;
b[k-1]=0;
k=k-2;
}
else
{
k--;
}

}
else 
{
printf("\n%d,%s\n",__LINE__,__FILE__);
b[k]=a[i];

}

}
b[k]='\0';
printf("\n%s\n",b);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: