c语言统计输入文本不同字母单词数,统计文本中单词的个数
㈠ 統計一行文本的單詞個數:輸入一行字符,統計其中單詞的個數.個單詞之間用空格分隔,空格數可以是多個,
代碼部分: #include
int main()
{
int count=0;
char temp;
bool letter;
letter=0;//letter=0為在單詞里(單詞沒輸入完成),=1為表示進入下個單詞
printf("Input words:");
temp=getchar();
while(temp!='\n')
{
if((letter==1)&&(temp==' '))
{
letter=0;
}
else if((temp>='a'&&temp<='z')||(temp>='A'&&temp<='Z')||(temp>='0'&&temp<='9'))
{
if(letter==0)
{
letter=1;
count++;
}
}
temp=getchar();
}
printf("count: %d\n",count);
return 0;
} 效果圖: 【酷_酷_幣】為您服務...
㈡ C語言 統計文件中各個單詞的個數
你的程序只需要修改兩處就行了:(1.)不能用指針數組直接存放字符串,即,要把程序開頭的char *s2[30]改為char s2[30][30],用二維數組來存放多個字符串;(2.)你的想法是,如果單詞不是重復的單詞,就將它存入s2,但這時不能用“=”,應該用strcpy()函數,即,原程序中的s2[k]=s3應改為strcpy(s2[k],s3),改過后的代碼如下:
#include
#include
int main()
{
char str[100],ch;
char s2[30][30]; /*s2存放單詞(不重復),修改處*/
char s3[30],*p=s3;
int i,j,k=0,flag1,flag2,count1=0,white=1,a[30]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
FILE *file;
file=fopen("string.txt","w+");
printf("Input a string of English:\n");
gets(str);
fputs(str,file);
rewind(file);
while((ch=fgetc(file))!='0') /*統計文件中有多少個單詞*/
{
if((ch==' ')||(ch=='\t')||(ch=='\n'))
white++;
else
{
if(white)
{
white=0;
count1++;
}
}
}
rewind(file);
for(i=0;i
{
flag1=0; /*是否有重復單詞*/
flag2=0; /*是否遇到空白字符*/
p=s3;
while(ch=fgetc(file))
{
if((ch!=' ')&&(ch!='\t')&&(ch!='0'))
{
if((ch>64)&&(ch<91)) /*大寫字母變小寫*/
{
ch=ch+32;
}
*p++=ch;
}
else
{
flag2=1; /*遇到空白字符*/
*p='\0';
for(j=0;j
{
if(strcmp(s3,s2[j])==0)
{
flag1=1; /*有重復單詞*/
a[j]++;
break;
}
}
if(flag1==0) /*如果單詞不重復*/
{
strcpy(s2[k],s3); /*修改處*/
a[k]++;
k++;
}
}
if(flag2==1) /*如果遇到空白字符,則開始查詢下一單詞,跳出while循環*/
{
break;
}
}
while(((ch=fgetc(file))==' ')||(ch=='\t')); /*吞掉多余的空白字符*/
fseek(file,-1,1); /*后退一格,繼續讀*/
}
for(i=0;i
{
printf("%s\t",s2[i]);
}
printf("\n");
for(i=0;i
{
printf("%d\t",a[i]);
}
printf("\n");
fclose(file);
return 0;
}
明白了嗎?
㈢ 用C++編程序統計文本中單詞的個數
這麼理解:單詞的個數 = 空格的個數+1,
連續的空格按1個算,如果有其他的邏版輯則還需要權進行處理,比如,.“的判斷等等。
思路是: 循環讀取文件直至為空,每次讀取1024個字節到字符串數組filestr中
flag = false; -- -- false表示上一次讀取到的字符不為單詞的字母,用于屏蔽連續空格的干擾
num = 0; -- 空格的個數
for(i = 0; i < 1000 ; ++i)
{
if ( filestr[i] == ' ' && flag)
{
num++;
flag = false;
}
else
flag = true;
}
cout<
㈣ 統計一個文本文件里面各個單詞出現的次數
用軟件Replace Pioneer就可以,詳細步驟:
1. ctrl-o打開文件
2. 打開Tools->Pattern Counter菜單,
3. Source選Current page, Counter template選Characters, Words, Lines
4. 選中內列表中Words這一行,點擊detail按鈕即可。
在官容網上可以搜索各種統計的例子。
㈤ vb統計一個文本文件中某個單詞(英文字符)的數量
沒有抄測襲試過。。。
Open "d:\123.txt" For binary As #1
S1 = StrConv(InputB(LOF(1), 1), vbUnicode)
Close #1
S2="yes"
N=(len(S1) -len(replace(s1,s2,""))) / len(s2)
msgbox n
㈥ 統計某文本文件中各單詞個數C語言設計
#include
#include
void main()
{
char ch;
int numberofword=0,wordStart=0;
FILE *fp1 = fopen("test.txt","r");
FILE *fp2 = fopen("result.txt", "w");
if( fp1==NULL || fp2==NULL )
{
puts("cannot open file!");
return;
}
while( !foef(fp1) )
{
ch =fgetc(fp1);
if( isalpha(ch) && wordStart==0 )
{
wordStart = 1;
}
else if( !isalpha(ch) && wordStart==1 )
{
numberofword++;
wordStart = 0;
}
}
fprintf(fp2,"%d",numberofword);
fclose(fp1);
fclose(fp2);
}
㈦ 如何統計一個文本中指定單詞的個數
您好,我來為您抄解答:
我想找襲到所有以 unix 打頭的字段,我用下面的語句
awk '{for (i=1;i<=NF;i++) if ($i ~ /^unix.*/ count++} END{print count}' a.txt
如果我的回答沒能幫助您,請繼續追問。
㈧ java統計txt文件中的單詞數
你的程序我幫你改完了,你看看吧.(改動的地方見注釋)importjava.util.Scanner;
importjava.io.File;
publicclassText{
publicstaticvoidmain(String[]args){
try{
Scannersc=newScanner(newFile("qia.txt"));
intwords=0;//這里把這句移到這專里
while(sc.hasNextLine()){
Stringstr=sc.nextLine();
Stringstr1=str.trim();
String[]xx=str1.split("
\s
+");
inta1=xx.length;
words=words+a1;
}
System.out.println("單詞屬數:"+words);//這里把這句移到這里,并輸出words
}catch(Exceptionex){
}
}
}
㈨ 統計某文本文件中各單詞個數
英文的話,一般是統計空格數。
中文嘛,文件的大小除以二吧。
混合的,根據編碼將中英文區分分別統計即可。
㈩ 統計一個文本文件中單詞的個數JAVA。 這圖有對的地嗎應該怎么寫
先用io流按行讀取文件內容,用string拼接一個長字符串,然后按空格截斷,存入數組,最后輸出數組長度即可
總結
以上是生活随笔為你收集整理的c语言统计输入文本不同字母单词数,统计文本中单词的个数的全部內容,希望文章能夠幫你解決所遇到的問題。