虚心请教关于引号的问题!!

wandou999 2004-08-13 02:16:33
打开一个文件,如果发现是是双引号间的字副,如果是字母,则A<->Z,B<->X...即字母首尾互换,
初步想法:先搜索,发现一个",下一个是字母,互换,直到发现第二个".
拜托大家!!!
...全文
369 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
red98 2004-08-17
  • 打赏
  • 举报
回复
学习
llch800424 2004-08-17
  • 打赏
  • 举报
回复
学习
radio1983 2004-08-17
  • 打赏
  • 举报
回复
可以用编译原理的思想来写程序,设置一个引号开关
至于中间字母调换的方法很多
cxjddd 2004-08-17
  • 打赏
  • 举报
回复
设一个状态标志
expert2000 2004-08-16
  • 打赏
  • 举报
回复
帮顶,学习,楼主给点分我就能升级。
coyprightbao 2004-08-16
  • 打赏
  • 举报
回复
up ! 学习!
12l 2004-08-16
  • 打赏
  • 举报
回复
可以使用队列
如果遇到一"号,将以后遇到的字母依次存入队列,直到遇到下一"号
再将队列中的字母依次转换,再一次将队列内容写入文件中,这样以
减少对文件的写入次数,比较快一点
沧海桑人 2004-08-13
  • 打赏
  • 举报
回复
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>



int main()
{
FILE *fp;
int flag = 0;
int i=1;
char buff;

if((fp = fopen("t.txt", "a+")) == NULL)
{
cout<<"open file Error!";
return 1;
}

do
{
buff = fgetc(fp);
if (buff == '"')
{
if (flag == 1)
flag = 2;
else
flag = 1;
}
if (flag == 1)
{
if ((buff >= 'a') && (buff <= 'z'))
buff = (char)fabs(122-(buff - 97));
else
if ((buff >= 'A') && (buff <= 'Z'))
buff = (char)fabs(90 - (buff - 65));
else
continue;
cout<<buff;
}
}while( buff != EOF);
fclose(fp);

getch();
}
wwwooowww 2004-08-13
  • 打赏
  • 举报
回复
char desChar = (char)(25-(scrChar - 'A') +'A');
其中scrChar 是读出的原字符;
desChar是变换后的目标字符.
loveyou19840806 2004-08-13
  • 打赏
  • 举报
回复
这和统计一文章中有多少单词是差不多了,设一个引号开关不就行了吗?
wandou999 2004-08-13
  • 打赏
  • 举报
回复
alou() ( )
说的对,写错了
wandou999 2004-08-13
  • 打赏
  • 举报
回复
最好是代码,自己先UP!
alou 2004-08-13
  • 打赏
  • 举报
回复
是啊,有什么问题吗?不过,B<->Y吧?

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧