當前位置:首頁 » 編程軟體 » 編程題找單詞

編程題找單詞

發布時間: 2024-01-04 07:47:58

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

#include<stdio.h>
#include<string.h>

typedefstruct
{
charwd[20];
intcount;
}WORDS;

voidmain()
{
charbuf[]="bigBigworldwordWord,youaredog.BigDog.";
WORDSW[20];
char*str,tmp[20]={0};
inti=0,j=0,k=0,sn=0,flag=0,maxw=0,minw=0,mxp=0,mip=0;
memset(&W,0,sizeof(WORDS)*20);

while(buf[k])
{
if(buf[k]>='A'&&buf[k]<='Z')
{
buf[k]+=32;
}
k++;
}
str=buf;
while(*str)
{
if(*str!=','&&*str!='.'&&*str!=''/*英文中沒有頓號*/)
{
tmp[i++]=*str;
}else
{
tmp[i]='';
i=0;
flag=0;
for(j=0;j<sn;j++)
{
if(strcmp(tmp,W[j].wd)==0)
{
W[j].count++;
flag=1;
break;
}
}
if(!flag)
{
strcpy(W[sn].wd,tmp);
W[sn].count++;
sn++;
}
}
str++;
}
for(j=0;j<sn;j++)
{
if(j==0)
{
maxw=minw=W[j].count;
}
if(W[j].count>maxw)
{
maxw=W[j].count;
mxp=j;
}
if(W[j].count<minw)
{
minw=W[j].count;
mip=j;
}
}
printf("useMaxword[%s]use[%d]times useMinword[%s]use[%d]times ",
W[mxp].wd,W[mxp].count,W[mip].wd,W[mip].count);
}
useMaxword[big]use[3]times
useMinword[world]use[1]times
Pressanykeytocontinue

Ⅱ C語言編程 指針之尋找最長單詞 I題

#include <stdio.h>
#include <ctype.h>
char *fun(char *p)
{
int i=0,maxlenwordlen=0,wordbegin=-1,maxlenwordbegin=-1;

if(p)
{
for(;*(p+i)!='\0';)
{
while(isspace(*(p+i)))
{
i++;
}
wordbegin=i;
while(*(p+i)!='\0' && !isspace(*(p+i)))
{
i++;
}
if(i-wordbegin>maxlenwordlen)
{
maxlenwordbegin=wordbegin;
maxlenwordlen=i-wordbegin;
}
}
}
if(maxlenwordlen)
{
*(p+maxlenwordbegin+maxlenwordlen)='\0';
printf("最長單詞是:");
return (p+maxlenwordbegin);
}
else
{
printf("你的輸入不含有任何單詞!\r\n");
return p;
}
}
int main()
{
char TBuf[1024],*pword;
gets(TBuf);
pword=fun(TBuf);
while(*pword!='\0'&& *pword!=' ')
putchar(*pword++);
return 0;
}

Ⅲ C語言編程題:輸入三行文字,找出其中有多少個空格和多少個單詞(規定單詞間以一個或多個空格分開).

#include <stdio.h>

int main()

{

char *p,str[3][255],sp=' ';

int i,j,w=0,sps=0;

for (i=0;i<3;i++) gets(str[i]);

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

{

p=str[i];

while(*p==sp) {sps++;p++} /*跳過最前面的空格*/

do {

if (*p==sp)
{
w++;sps++;p++;
while(*p==sp) {sps++;p++;} /*跳過連續的空格*/
}
else if (*p)
p++;

} while(*p);

if (*(--p)!=sp) w++; /*最後一個詞後面可能沒有空格*/

}

printf("有%d個單詞,%d個空格 ",w,sps);

system("PAUSE");

return 0;

}


Ⅳ 一道c語言編程題,尋找字元串最長的單詞並輸出

這一行寫錯了,p1前要加個*號:
printf("%c",p1++);
要改成
printf("%c", *p1++);

看別人寫的程序很難懂,不如自己重寫一下,已經測試通過:

#include <stdio.h>
#include <string.h>

int main()
{
char s[128];
char *p1, *p2;
int max=0, len=0;

printf("Input a string: ");
gets(s);

p1=s;
for (int i=0; i<strlen(s); i++)
{
if (s[i]==' ') // 如果當前字元為空格,則比較當前單詞長度是否大於最大值,再將長度復位。
{
if (len>max)
{
max=len;
p2=p1;
}
len=0;
} else // 如果當前字元非空,如果當前長度為0,則表示新單詞。
{
if (len==0)
p1=&s[i];
++len;
}
}
while (*p2 && *p2!=' ')
printf("%c", *p2++);
}

熱點內容
oppoa33存儲設置方法 發布:2024-11-17 00:41:54 瀏覽:390
sql的if函數怎麼用 發布:2024-11-17 00:36:52 瀏覽:238
填滿我的世界的伺服器叫什麼 發布:2024-11-17 00:32:16 瀏覽:27
mysql資料庫在哪裡看 發布:2024-11-17 00:25:28 瀏覽:138
電腦上面顯示配置怎麼看 發布:2024-11-17 00:20:17 瀏覽:587
括弧計演算法 發布:2024-11-17 00:06:18 瀏覽:870
筆記本ghost配置是什麼 發布:2024-11-17 00:04:12 瀏覽:335
androidappwidget 發布:2024-11-16 23:27:18 瀏覽:677
圖片加密上傳 發布:2024-11-16 23:24:54 瀏覽:72
騙軟體演算法 發布:2024-11-16 23:21:50 瀏覽:647