C语言编程求一个英文句子中的单词数和最长单词的位置、长度及输出这个单词。

从键盘输入一个英文句子,统计其中单词的个数,并输出最长单词在文本中的位置(是文本中的第几个字符)和长度;(单词的界定:单词是由空格、换行符号、标点符号等分隔的字母和数字组... 从键盘输入一个英文句子,统计其中单词的个数,并输出最长
单词在文本中的位置(是文本中的第几个字符)和长度;(单词的界
定:单词是由空格、换行符号、标点符号等分隔的字母和数字组成的连
续字符串)

#include<stdio.h>
#include<string.h>
void main()
{
char string[100];
char b;
int i,j,k,m=0,n=0;
printf("请输入一个英文句子:\n");
gets(string);
for(i=0;(b=string[i])!='\0';i++)
if(b==' ')m=0;
else if(m==0)
{m=1;
n++;
}
printf("该句共有%d个单词\n",n);
printf("最长的单词是第%d个,它的长度是%d\n",k);
}
我只会编到这一步,其他的不会了,请高手帮帮忙!
展开
 我来答
百度网友6561130
2013-04-19
知道答主
回答量:13
采纳率:0%
帮助的人:7万
展开全部
我刚做了一关于英文句子里面每个单词平均字长的。与你问题很近。
#include "stdio.h"
#include <string.h>
#include "ctype.h"
#define MAX 1000000
char buf[MAX],s[MAX];
char p[MAX];
int main(){
int n = 0;
int m = 1;
int cout = 0;
float ave = 0;
int i;
fgets(buf,sizeof(s),stdin);
n = strlen(buf)-1;//字符串的末尾有一个结束字符
for( i =0;i < n; i++)
if(isalpha(buf[i]) == 0 && isalpha(buf[i+1])!=0)
{
m ++;
}
printf("%d\n\n",m);
for(i = 0; i < n; i++)
{
if(isalpha(buf[i]) !=0)
cout++;
}
printf("%d\n\n",cout);
ave = cout /m;
printf("%f",ave);
return 0;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
grassbright
2013-03-26 · TA获得超过1504个赞
知道小有建树答主
回答量:4176
采纳率:0%
帮助的人:1560万
展开全部
printf是字
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
laozibi
2013-03-25 · TA获得超过7966个赞
知道大有可为答主
回答量:1.3万
采纳率:0%
帮助的人:4570万
展开全部
printf是字
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式