实现简单的输入编辑,录入正确的字符串,出现‘$’,表示撤销前一个输入, 发现连续的‘$’,表示连续撤销前面的输入;发现‘%’,表示放弃前面所有录入; 生成最终结果。
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);
}
#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);
}
相关文章推荐
- JavaScript设计模式经典之工厂模式
- hadoop 集群常见错误解决办法
- 和后台交互
- AJAX实现计算器
- select, poll, epoll
- Delphi7编译时,发生Access violation at address 00A7B628 in module 'dcc70.dll'. Read of address 00000000.(Delphi6升级到Delphi7)
- html和php添加UTF-8 head标签
- NSURLCache
- JS,Jquery - 三元运算符
- Ubuntu下安装SVN服务
- android将xml文档中自定义标签中的内容取出
- 模式匹配算法KMP
- Redis学习笔记一
- Hadoop Namenode不能启动 dfs/name is in an inconsistent
- android、webview、js交互
- JAVA-input如何占满整个td
- Linux下gcc安装与使用(常用的gcc命令)
- Mac OS command line TestNG - “Cannot find class in classpath” error
- poj1173 多重集组合数
- WebSocket相关知识