编程论坛
注册
登录
编程论坛
→
C++教室
关于c中一个计数问题:怎样计算一个英文段落中的一,二,三等长度字母单词的出现个数
asdwmxj
发布于 2010-01-05 16:16, 1115 次点击
各位帮帮忙,是作业考试题呀!11!!!!加急的!!!!!!!!!
3 回复
#2
asdwmxj
2010-01-05 17:49
谁会?????给我发个信呀!!!!!!
#3
flylee
2010-01-05 19:35
等一下帮你写吧。。。
#4
flylee
2010-01-05 19:51
程序代码:
#include <stdio.h>
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[])
{
FILE *fp;
char buf[255];
int counts[3], i;
counts[0] = counts[1] = counts[2] = 0;
if(argc == 1) {
printf("please specify data file.\n");
return 1;
}
fp = fopen(argv[1], "r");
if(!fp) {
printf("open file \'%s\' failed.\n", argv[1]);
return 1;
}
while(fscanf(fp, "%s", buf) != EOF) {
while(buf[strlen(buf)-1] &&
!(('a'<=buf[strlen(buf)-1]&&buf[strlen(buf)-1]<='z')
||('A'<=buf[strlen(buf)-1]&&buf[strlen(buf)-1]<='Z')))
buf[strlen(buf)-1] = 0;
if(0 < strlen(buf) && strlen(buf) < 4)
++counts[strlen(buf)-1];
}
fclose(fp);
for(i=0; i<3; ++i)
printf("words with %d letters: %d\n", i+1, counts[i]);
return 0;
}
记得从命令行读入文件
如果编译链接得到的文件名为counts,数据文件名为data
那么在命令提示符下输入
counts data
就可以看到结果了
[
本帖最后由 flylee 于 2010-1-5 19:53 编辑
]
1