當前位置:編程學習大全網 - 編程軟體 - C語言編程題:(不用C++,用C!)分別找出壹個英文句子裏出現頻率最高和最低的單詞(不區分大小寫)

C語言編程題:(不用C++,用C!)分別找出壹個英文句子裏出現頻率最高和最低的單詞(不區分大小寫)

#include?"stdio.h"

#include?<string.h>

struct?wn{

int?x;

char?w[21];

};

int?main(int?argv,char?*argc[]){

char?s[]="Moonlight?is?in?front?of?my?bed.?I?took?it?for?frost?on?the?ground.?I?lift?my?eyes?to?watch?the?mountain?moon.?Lower?them?dream?a?dream?of?home.";

char?w[21],ch;

int?n,i,j,k,ln;

struct?wn?w_num[100]={0,""};

for(ln=strlen(s);(ch=s[ln]|0x20)<'a'?||?ch>'z';ln--);

k=i=0;

while(i<ln){

while((ch=s[i]|0x20)<'a'?||?ch>'z')

i++;

sscanf(s+i,"%[^,.?\n]%n",w,&n);

i+=n;

for(j=0;j<k;j++)

if(!stricmp(w,w_num[j].w)){

w_num[j].x++;

break;

}

if(j>=k){

strcpy(w_num[k].w,w);

w_num[k++].x=1;

}

}

for(n=j=w_num[i=0].x;i<k;i++){

if(n<w_num[i].x)

n=w_num[i].x;

if(j>w_num[i].x)

j=w_num[i].x;

}

printf("The?highest?frequency?is?%d,?they?are?as?follows:\n",n);

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

if(w_num[i].x==n)

printf("%s\n",w_num[i].w);

printf("\nThe?lowest?frequency?is?%d,?they?are?as?follows:\n",j);

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

if(w_num[i].x==j)

printf("%s\n",w_num[i].w);

return?0;

}

運行結果:

為什麽執行結果沒有了?再發壹遍……

  • 上一篇:如何在fanc-0i md系統的加工中心中調出括號“]”?
  • 下一篇:如何使用Revit快速出門窗?
  • copyright 2024編程學習大全網