| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1002 人关注过本帖
标题:[求助字符串的程序
取消只看楼主 加入收藏
恒星的恒心
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-6-19
收藏
 问题点数:0 回复次数:10 
[求助字符串的程序

这个程序光是判断是否回文字符的程序我会,但和文件联系起来我就弄不清楚了.:弄了2天了都没什么进展..
1.输入一个字符串。
2.在文件yeshuiwen.txt中查找这一字符串。
a.若有,则输出这一字符串是回文字符,且把这一字符串写入yeshuiwen中。
b.若没有,则在文件nohuiwen.txt中查找。
①若有,则输出这一字符串回文字符不是回文字符,且把这一字符串写入nohuiwen中。
②若没有,按判断回文算法判断。
Ⅰ.若是,则写入yeshuiwen中
Ⅱ.若不是,则写入nohuiwen中
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct string
{
char yelem[100];
char nelem[100];
int length;
}string1;

void main()
{
int n;
int i=0,j=n-1;
char str3[80];
FILE *fp2;
char str2[200];
FILE *fp1;
char str1[200];
printf("请输入要判断的字符串");
scanf("%s",str1);
string1.length=strlen(str1);
if(strcmp(string1.yelem,str1)==0)
{printf("该字符串已经判断过,是回文字符");
if ((fp1=fopen("yeshuiwen.txt","w"))==NULL) /*打开只写的文本文件*/
{
printf("cannot open file!");
exit(0);
}
fprintf(fp1,"%s , %7.2f\n",string1.yelem,string1.length); /* 写入文件*/
fclose(fp1); /*关文件*/
}
else
if(strcmp(string1.nelem,str2)==0)
{printf("该字符串已经判断过,不是回文字符");
if ((fp2=fopen("nohuiwen.txt","w"))==NULL) /*打开只写的文本文件*/
{
printf("cannot open file!");
exit(0);
}
fprintf(fp2,"%s , %7.2f\n",string1.nelem,string1.length); /* 写入文件*/

fclose(fp2); /*关文件*/
}
else
while(i<j)
{
if(str3[i]==str3[j])
{
i++;
j--;
}
else
{ printf("这不是回文字符串\n");
if ((fp2=fopen("nohuiwen.txt","w"))==NULL) /*打开只写的文本文件*/
{
printf("cannot open file!");
exit(0);
}
fprintf(fp2,"%s , %7.2f\n",string1.nelem,string1.length); /* 写入文件*/

fclose(fp2); /*关文件*/

break;
}
}
if(i>=j)printf("这是回文字符串");
if ((fp1=fopen("yeshuiwen.txt","w"))==NULL) /*打开只写的文本文件*/
{
printf("cannot open file!");
exit(0);
}
fprintf(fp1,"%s , %7.2f\n",string1.yelem,string1.length); /* 写入文件*/
fclose(fp1); /*关文件*/
}

[此贴子已经被作者于2007-7-7 14:29:01编辑过]

搜索更多相关主题的帖子: 字符 
2007-07-07 13:22
恒星的恒心
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-6-19
收藏
得分:0 
程序不能运行的....

2007-07-07 13:42
恒星的恒心
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-6-19
收藏
得分:0 
int i=0,j;
char str3[80];
FILE *fp2;
char str2[200];
FILE *fp1;
char str1[200];
printf("请输入要判断的字符串");
scanf("%s",str1);
string1.length=strlen(str1);
j=string1.length-1;
这部分改了,但程序还是不能运行...

2007-07-07 14:06
恒星的恒心
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-6-19
收藏
得分:0 
大家帮帮忙啊

2007-07-07 14:23
恒星的恒心
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-6-19
收藏
得分:0 
那个是不是要用到KMP?
这东西我不懂...

2007-07-07 14:31
恒星的恒心
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-6-19
收藏
得分:0 

用fgetc一个一个读字符串再比较?


2007-07-07 14:40
恒星的恒心
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-6-19
收藏
得分:0 

用fgetc改了,可还是不能运行
出现debug error


#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 80
struct string
{
char yelem[100];
char nelem[100];
int length;
}string1;


void main()
{
char buf[MAX];


int count1 = 0,count2=0;
int i=0,j;

FILE *fp2;

FILE *fp1;
char str[200];
printf("请输入要判断的字符串");
scanf("%s",str);
string1.length=strlen(str);
j=string1.length-1;
if ((fp1 = fopen("yeshuiwen.txt", "r")) == NULL)
{
fprintf(stderr, "Error open the file.");
exit(1);
}

while (!feof(fp1))
{
fgets(buf, MAX, fp1); //读取一行文本,放入指定内存
count1++;
if ((strstr(buf, "count")) != NULL)
{
printf("该字符串已判断过,是回文字符");

fprintf(fp1,"%s , %7.2f\n",string1.yelem,string1.length); /* 写入文件*/
fclose(fp1); /*关文件*/}
}

if((fp2 = fopen("nohuiwen.txt", "r")) == NULL)
{
fprintf(stderr, "Error open the file.");
exit(1);
}

while(!feof(fp2))
{
fgets(buf, MAX, fp2); //读取一行文本,放入指定内存
count2++;
if ((strstr(buf, "count")) != NULL)
{ printf("该字符串已判断过,不是回文字符");

fprintf(fp2,"%s , %7.2f\n",string1.yelem,string1.length); /* 写入文件*/
fclose(fp2); /*关文件*/
}
}
while(i<j)
{
if(str[i]==str[j])
{
i++;
j--;
}
else
{ printf("这不是回文字符串\n");
if ((fp2=fopen("nohuiwen.txt","w"))==NULL) /*打开只写的文本文件*/
{
printf("cannot open file!");
exit(0);
}
fprintf(fp2,"%s , %7.2f\n",string1.nelem,string1.length); /* 写入文件*/


fclose(fp2); /*关文件*/


break;

}
printf("这是回文字符串");
if ((fp1=fopen("yeshuiwen.txt","w"))==NULL) /*打开只写的文本文件*/
{
printf("cannot open file!");
exit(0);
}
fprintf(fp1,"%s , %7.2f\n",string1.yelem,string1.length); /* 写入文件*/
fclose(fp1); /*关文件*/
}


}


2007-07-07 15:38
恒星的恒心
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-6-19
收藏
得分:0 

谢谢了,已经能执行了.
但还没实现在
文件yeshuiwen.txt中查找这一字符串。
若有,则直接输出这一字符串是回文字符,而不用判断回文算法.


2007-07-07 18:19
恒星的恒心
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-6-19
收藏
得分:0 
还是不能实现...

2007-07-07 18:58
恒星的恒心
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-6-19
收藏
得分:0 
是啊,我郁闷了几天了...

2007-07-07 19:56
快速回复:[求助字符串的程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037339 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved