夜夜操夜夜骑,国产精品99在线观看,国产在线播放网址,成人免费毛片视频,日本高清免费不卡视频,一级片视频免费

c語言統計單詞個數,c語言求輸入的單詞數

  • 英語單詞
  • 2023-12-24

c語言統計單詞個數?1、統計英文文本中單詞個數。if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')) sum++;2、統計某一特定單詞出現的頻度。那么,c語言統計單詞個數?一起來了解一下吧。

c語言單詞表大全

例1. 統計一個字符串中單詞的個數(假定單詞之間以空格分隔)。

由于在第一個單詞之前有可能沒有空格符,因此若仍然采用查找一個單詞的開頭的方式,實現起來將會不甚方便。不過,可以變換一下思路,改為查找一個單詞的末尾。

可以發現,在除了最后一個單詞之外的每個單詞之后至少有一個空格符,而在最后一個單詞之后可能跟一個空格符,也可能直接跟一個空字符'\0',因此可以將判斷規則修改為“當相鄰的兩個字符中,前一個是非空格字符,而后一個是空格符或空字符'\0'時,說明找到一個新的單詞”。

源程序:

#include

#include

int main(void)

{char a[200];

int i,n,c=0;

printf("請輸入一行以空格分隔的單詞:\n");

gets(a);

n=strlen(a);

for(i=0;i<=n-1;i++)

{if(a[i]!=' '&&(a[i+1]==' '||a[i+1]=='\0'))

c++;

/*若第i個字符不是空格符,第i+1個字符是空格符或'\0',則表示找到一個單詞的末尾*/

}

printf("單詞個數=%d\n",c);

return 0;

}

例2. 統計一個字符串中單詞的個數(假定單詞之間以空格或標點符號分隔)。

輸入一段英文統計單詞個數

#include

#include

#include"string.h"

typedefstruct{

charword[20];

intcount;

}WORD;

intfind(char*source,chartarget)

{

inti,j;

ints_len=strlen(source);

for(i=0;i

{

if(source[i]==target)

{

returni;

}

}

return-1;

}

char*right(char*source,intn)

{

char*buf;

intlen=strlen(source);

buf=(char*)malloc(sizeof(char)*(len-n)+1);

inti,j=0;

for(i=n;i

{

buf[j++]=source[i];

}

buf[j]='\0';

returnbuf;

}

voiddel_double_space(char*s)

{

inti,j=0,len=strlen(s);

for(i=0;i

{

s[j++]=s[i++];

if(s[i]==''&&s[i-1]=='')

{

i++;

}

}

s[j]='\0';

len=strlen(s);

for(i=0;i

{

if(s[i]>='A'&&s[i]<='Z')

{

s[i]=s[i]+32;

}

}

}

char*left(char*source,intn)

{

char*buf;

buf=(char*)malloc(sizeof(char)*n+1);

intlen,i,j=0;

len=strlen(source);

for(i=0;i

{

if(source[i]!='\0')

{

buf[j++]=source[i];

}

else

{

break;

}

}

buf[j]='\0';

returnbuf;

}

voidsort(WORD*w)

{

WORDt;

intcount=0;

inti,j;

for(i=0;i<100;i++)

{

if(w[i].count>0)

{

count++;

}

}

for(i=0;i

{

for(j=0;j

{

if(w[j].count

{

t=w[j];

w[j]=w[j+1];

w[j+1]=t;

}

elseif(w[j].count==w[j+1].count)

{

if(strcmp(w[j].word,w[j+1].word)>0)

{

t=w[j];

w[j]=w[j+1];

w[j+1]=t;

}

}

}

}

}

intmain(intargc,char*argv[])

{

charall[1000]={'\0'};

while(1)

{

strcpy(all,"\0");

printf("\n\n請輸入一段英文文字:");

fflush(stdin);

scanf("%[^\n]",all);

WORDword[100];

inti,duan=0,len,count=0;

len=strlen(all);

for(i=0;i<100;i++)

{

strcpy(word[i].word,"\0");

word[i].count=0;

}

for(i=0;i

{

if(all[i]==','||all[i]=='.'||all[i]=='!'||all[i]=='?'||all[i]==';')

{

duan++;

if(i==len-1)

{

all[i]='\0';

}

else

{

all[i]='';

}

}

elseif(i==len-1)

{

duan++;

}

}

del_double_space(all);

while(1)

{

char*buf,*newbuf;

intn;

buf=(char*)malloc(sizeof(char)*20);

newbuf=(char*)malloc(sizeof(char)*1000);

n=find(all,'');

if(n!=-1)

{

buf=left(all,n);

}

else

{

strcpy(buf,all);

}

// printf("\n%s",buf);

intisfind=0;

for(i=0;i

{

if(strcmp(word[i].word,buf)==0)

{

word[i].count=word[i].count+1;

isfind=1;

break;

}

}

if(isfind==0)

{

strcpy(word[count].word,buf);

word[count].count=1;

count++;

}

if(find(all,'')==-1)

{

free(buf);

free(newbuf);

break;

}

newbuf=right(all,n+1);

strcpy(all,newbuf);

free(buf);

free(newbuf);

// printf("\n%s",all);

// getch();

}

sort(word);

printf("\n共有%d句話",duan);

printf("\n共有%d個單詞",count);

printf("\n單詞詞頻");

for(i=0;i

{

printf("\n%-10s%d",word[i].word,word[i].count);

}

printf("\n\n是否繼續?[y/n]");

charn;

fflush(stdin);

scanf("%c",&n);

if(n=='y'||n=='Y')

{

continue;

}

elseif(n=='n'||n=='N')

{

break;

}

}

return0;

}

c語言統計每個字母個數

#include

#include

void despace(char *s,int *i)

{

while(s[*i]==' ') (*i)++;

}

int main()

{

int count=0,i=0;

char s[50];

char c;

gets(s);

while((c=s[i])!='\0')

{

if(c==' ')

{

despace(s,&i);

count++;

}

i++;

}

count++;

printf("\ncount:%d",count);

getch();

return 1;

}

c語言輸出單詞個數

給你個類似的。你小改下,就應該可以了。希望對你有幫助

/*編寫一個函數,該函數可以統計一個長度為2的字符串在另一個字符串中出現的次數。

例如,假定輸入的字符串為:asdasasdfgasdaszx67asdmklo,

子字符串為:as,則應輸出6。

[程序分析]

由于小串中只有2個字符所以可用str[i]==sbustr[0]&&str[i+1]==substr[1]來判斷小串是否與長串當前位置(str[i])相同(即出現一次)。

因而只要讓長串當前位置逐一向后移即可(用for()循環來完成)

*/

//[源程序]

#include"stdio.h"

#include"string.h"

#include"conio.h"

intfun(char*str,char*substr)

{inti,n=0,s=strlen(str);

for(i=0;i

if((str[i]==substr[0])&&(str[i+1]==substr[1]))

n++;

returnn;

}

main()

{

charstr[81],substr[3];

intn;

printf("輸入的字符串:");

gets(str);

printf("子字符串:");

gets(substr);

puts(str);

puts(substr);

n=fun(str,substr);

printf("n=%d\n",n)

}

/*******************************************************************************************************/

按你的意思我改了下調用函數里的

intfun(char*str,char*substr)

{

inti,j,n=0,s=strlen(str),m=strlen(substr),pan=1;

printf("%d\n",m);

for(i=0;i

{pan=1;

for(j=0;j

if((str[i+j]!=substr[j]))//這是進行比較,不是跳出

{pan=0;

break;}

if(pan)

n++;

}

returnn;

}

c語言統計字符串中單詞個數

Q:輸入一串字符串,輸出其中有多少個單詞。

Eg:Good Wishes

A:

#include #include #define SIZE 20int main()

{char str[SIZE]={'\0'};int count=0;

printf("plz input the string\n");

gets(str);

puts(str);int length = strlen(str);for (int i=0;i

{

if(str[i]!=' ')

{count++;while(str[i]!=' '&&str[i]!='\0')

{

i++;

}

}

}

printf("%d\n",count);return 0;

}

‘\0’和‘0’的區別:

在c語言中,它們都是字符,都用對應的ASCII碼來存儲。例如第一個ASCII碼,0,對應字符為(Null),就是 ‘\0’,即空字符。我們在c語言中判斷一個字符串是否結束的標志就是看是否遇到‘\0’,如果遇到‘\0’,則表示字符串結束。字符‘0’和數字0的區別:前者是字符常量,后者是整形常量,但是字符常量可以像整數一樣在程序中參與相關運算。

以上就是c語言統計單詞個數的全部內容,//以下統計句子中的英文單詞個數;for(i=0;(c=string)!='\0';i++)//for循環語句,遍歷句子中的每個字符;初始化i=0;若字符c!='\0',即未到達結束符'\0'的話,執行i++;{//'\0'用作字符串的結束符。

猜你喜歡

主站蜘蛛池模板: 国产1区2区3区在线观看 | 99tav| 91热久久免费频精品99欧美 | 国产高清自偷自在线观看 | 女人的影院 | 国产aⅴ精品一区二区三区久久 | 久久免费久久 | 伊人久久天堂 | 色一色在线观看视频网站 | 精品国产欧美一区二区三区成人 | 国产精品视_精品国产免费 国产精品深夜福利免费观看 | 就爱啪啪网站 | 四虎成人影院网址 | 看黄大片app蝴蝶影院 | 伊人天堂网 | 久久久久嫩草影院精品 | 亚洲国产日韩综合久久精品 | 精品不卡一区中文字幕 | 精品成人在线视频 | 四虎网站在线观看 | 久草免费资源在线 | 国产在线中文字幕 | 免费毛片视频网站 | 男女网站免费 | 美女福利视频一区 | 日韩第1页 | 久久99中文字幕久久 | www.五月婷 | 日韩精品久久不卡中文字幕 | 五月亚洲| 国产精品综合视频 | 99热精品在线观看 | 精品亚洲视频在线观看 | 欧美国产一区二区三区 | 久久国产精品亚洲 | 精品无码久久久久国产 | 四虎影院官网 | 国产国产精品人在线观看 | 成人黄色电影在线观看 | 99ri精品国产亚洲 | 97在线免费看视频 |