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);
}
我只会编到这一步,其他的不会了,请高手帮帮忙! 展开
单词在文本中的位置(是文本中的第几个字符)和长度;(单词的界
定:单词是由空格、换行符号、标点符号等分隔的字母和数字组成的连
续字符串)
#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);
}
我只会编到这一步,其他的不会了,请高手帮帮忙! 展开
3个回答
展开全部
我刚做了一关于英文句子里面每个单词平均字长的。与你问题很近。
#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;
}
#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;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
printf是字
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
printf是字
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询