用c语言编写一个程序,来计算文件中字符、数字的个数?
#include “stdio.h”\x0d\x0a#include “stdlib.h”\x0d\x0avoid main()\x0d\x0a{\x0d\x0a FILE *fp;\x0d\x0a char ch;\x0d\x0a int charCounts=0,numCounts=0;\x0d\x0a if((fp=fopen(“test.txt”,”r”))==0)//注意,由于我不知道你想打开的文件的位置和名称,我随意写的一个文件名,你自己要按你文件的路径和名称做修改\x0d\x0a {\x0d\x0a printf(“文件读取失败!\n”);\x0d\x0a exit(0);\x0d\x0a }\x0d\x0a while((ch=fgetc(fp))!=EOF)\x0d\x0a {\x0d\x0a if(ch=’0’ch
回答于 2022-11-16
c语言求统计字数的程序求解释
1,
1和2
可以归结为一个问题:
if(!isspace(c)!inword)
{
inword=true;
n_words++;
}
if(isspace(c)inword)
inword=false;
当来到某一个字符时,如果它不是空格,并且是单词的开始,那么我们就把单词数n_words加上1,标志又多了一个新的单词。
!isspace(c)
用于判断它不是空格,!inword用于判断它是单词的开头而不是单词中间的某个字母。
2,
prev=’\n’:
因为我们靠判断有几个’\n’来判断有多少行的,但是最后一行是以STOP结尾的,如果STOP前
面的一个字符不是’\n’,那么我们就统计少了一行。这个prev=c就是保存结束之前最后一个
字符,也就是
|
前面的那个字符,
如果它不是’\n’的话.它就不是一个完整行。
用.net或c语言编码,读取txt文件,并对txt文件中的字数统计个数,计算概率并排序。
#include stdio.h
#include stdlib.h
#include string.h
#define LEN sizeof(Charactor)
typedef struct charactor
{
char key[3];
int count;
struct charactor *next;
}Charactor;
Charactor *add(char *c,Charactor *head) //查找记数
{
int flag=1;
Charactor *p=head;
while(p!=NULLflag==1)
{
if(strcmp(p-key,c) == 0)
{
flag=0; break;
}
else
{
p=p-next;
}
}
if(flag==0)
p-count++;
else
{
p=head;
head=(Charactor *)malloc(LEN);
strcpy(head-key,c);
head-count=1;
head-next=p;
}
return head;
}
void display(Charactor *p) //输出
{
printf(“\n The result are:\n”);
while(p!=NULL)
{
printf(“%s: %d\n”,p-key,p-count);
p=p-next;
}
}
void main()
{
Charactor *head=NULL;
char ch[2];
char str[100];
FILE *fstream;
FILE *fp=fopen(“d:\\1.txt”,”w”);
printf(“此程序只能统计中文\n”);
printf(“请输入一个中文字符串\n”);
fflush(stdin);
gets(str);
fprintf(fp,str); fclose(fp);
if((fstream = fopen(“d:\\1.txt”,”r”)) == NULL)
{ exit(-1); }
while( !feof(fstream) )
{ ch[0]=32;
ch[1]=32;
fscanf(fstream,”%2s”,ch);
if(ch[0]==32ch[1]==32)
{
break;
}
head=add(ch,head);
}
display(head);
system(“PAUSE”);
}
c语言编码 vc6.0通过 统计您输入的字符出现的个数
觉得满意 联系我 然后我给你完善程序
C语言:统计一个文本文件中字母,数字及其他字符各有多少个,是编写相应程序
源代码如下:
#includestdio.h
#includestring.h
void main()
{
char str[20];
int num=0,letter=0,other=0;
int i=0;
scanf(“%s”,str);
for(i=0; istrlen(str); i++)
{
if(str[i]=’0’str[i]=’9′) num++;
else if(str[i]=’a’str[i]=’z’||str[i]=’A’str[i]=’Z’) letter++;
else other++;
}
printf(“numbers: %d\nletters: %d\nothers: %d\n”,num,letter,other);
}
扩展资料
1、统计文件的字符数、单词数以及总行数,包括每行的字符数和单词数。
2、空白字符(空格和tab缩进)不计入字符总数;单词以空格为分隔。不考虑一个单词在两行的情况,限制每行的字符数不能超过1000。