| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 540 人关注过本帖
标题:[求助]得不到结果啊??
只看楼主 加入收藏
TCL
Rank: 1
等 级:新手上路
威 望:1
帖 子:68
专家分:0
注 册:2006-3-28
收藏
 问题点数:0 回复次数:5 
[求助]得不到结果啊??


我写了关于文件里单词出现的次数,但是得不到结果!为什么呢??
源程序如下:
#include<stdio.h>
#include<string.h>

void main(int argc, char* argv[])
{ char word_1[10];
char word_2[10];
char ch;
int count;
FILE *fp;
if((fp=fopen("E:/file.txt","rt"))==NULL)
{ printf("cannot open the file\n");
return;}
printf("input the word:\n");
scanf("%s",word_2);
ch=fgetc(fp);
while(ch!=EOF)
{ int i=0;
while(ch!=' ')
{ word_1[i]=ch;
ch=fgetc(fp);
i++;}
word_1[i]='\0';
if((strlen(word_1)==strlen(word_2))&&(strcmp(word_1,word_2)==0))
count++;}
printf("%d",count);
fclose(fp);
}

搜索更多相关主题的帖子: 得不到 结果 
2006-05-10 17:04
justicesun
Rank: 1
等 级:新手上路
帖 子:94
专家分:0
注 册:2006-5-6
收藏
得分:0 
E:/file.txt错了吧...E:\\file.txt

Java
2006-05-10 17:10
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
以下是引用TCL在2006-5-10 17:04:00的发言:


我写了关于文件里单词出现的次数,但是得不到结果!为什么呢??
源程序如下:
#include<stdio.h>
#include<string.h>

void main(int argc, char* argv[])
{ char word_1[10];
char word_2[10];
char ch;
int count;  /*没有初始为0*/
FILE *fp;
if((fp=fopen("E:/file.txt","rt"))==NULL)  /*既然是命令行,这个应该是arg[1],不过,你在测试的时候就不必了*/
{ printf("cannot open the file\n");
return;}
printf("input the word:\n");
scanf("%s",word_2);
ch=fgetc(fp);
while(ch!=EOF)
{ int i=0;
while(ch!=' ')
{ word_1[i]=ch;
ch=fgetc(fp);
i++;}
word_1[i]='\0';
if((strlen(word_1)==strlen(word_2))&&(strcmp(word_1,word_2)==0))
count++;}
printf("%d",count);
fclose(fp);
}


对不礼貌的女生收钱......
2006-05-10 17:20
TCL
Rank: 1
等 级:新手上路
威 望:1
帖 子:68
专家分:0
注 册:2006-3-28
收藏
得分:0 
都是一样没结果啊!!

我要为C语言努力!!!谁都不能挡我!!挡我者。。看你怎样活·····
2006-05-10 17:20
TCL
Rank: 1
等 级:新手上路
威 望:1
帖 子:68
专家分:0
注 册:2006-3-28
收藏
得分:0 
还需要怎样改啊 改不了的话就给老师 谢谢大哥们!!

我要为C语言努力!!!谁都不能挡我!!挡我者。。看你怎样活·····
2006-05-10 17:29
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 

我擅自帮你改变了一个判断标准:判断是否是单词不应该用空格来判断分隔,而应该用非字母来分隔

比如
#include<stdio.h>
#include<string.h>

这样,include这个单词应该出现了2次


#include<stdio.h>
#include<string.h>

/*判断一个字符是否为字母*/
int NaC(char c){
if( (c>='a' && c<='z') || (c>='A' && c<='Z') )
return 0;
return 1;
}

int main(void){
char word_1[20];
char word_2[20];
int ch;
int word_2_length,i,count=0;
FILE *fp;

if((fp=fopen("e:\\file.txt","rt"))==NULL){
printf("cannot open the file\n");
return;
}
printf("input the word:");scanf("%s",word_2);
word_2_length = strlen(word_2);
do{
i=0;
while( !NaC(ch=fgetc(fp)) && ch!=EOF ) word_1[i++]=ch;
word_1[i]='\0';
if( i==word_2_length && !strcmp(word_1,word_2) )
count++;
}while( ch!=EOF );
printf("%d\n",count);
fclose(fp);
return 0;
}


淘宝杜琨
2006-05-10 20:56
快速回复:[求助]得不到结果啊??
数据加载中...
 
   



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

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