输入字母和空格。 察看有多少个单词,输出每个单词的长度,以及长度的最大值

本文介绍了一个简单的C语言程序,该程序能够从用户输入的一行英文字符中统计出每个单词的长度,并找出最长的单词。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//由键盘输入一行仅由英文字母及空格组成的字符,编程实现(相邻单词之间用一个空格或多个空格隔开)
//1输出每个单词及其长度
//2输出最长的单词
//例如 
//输入: I am a boy
//输出: I     1
//      am    2
//      a     1
//      boy   3
//      The longest word is:boy
#include "stdio.h"
int main()
{
 int i=0;//单词个数
 int m=0;//每个单词的字母个数
 int j=0;//字符串位数
 char buff[512];//字符串
 char a[100];//放每个单词的内容
 int longest=0;
 //输入字符串
 //scanf("%s",buff); 输入i am a girl 不可以用这个 因为scanf输入字符串时以第一个空白字符结束
 gets(buff);
 while(buff[i]!='\0')
 {
  a[m]=buff[i];
  m++;
  if(buff[i]==' ')//一个单词
  {
   a[m]='\0';//给单词最后加一个结束符
   j++;
   printf("%d ",m-1);
   if(longest<m-1)
    longest=m-1;
   puts(a);
   m=0;
  }
  i++;
 }
 a[m]='\0';//最后一个单词
 printf("%d ",m);
 if(longest<m)
  longest=m;
 puts(a);
 printf("单词有:%d个\n",j+1);
 printf("单词最长为:%d个\n",longest);
 return 0;
}
//cannot open Debug/3.exe for writing  错误出现 ctrl+alt+delete任务管理器关闭vc 再重新打开即可

/*补充
getchar输入单个字符   putchar输出单个字符  而且\n也会被当成字符
如果输入abcd
输出acd
可以这样写:
#include "stdio.h"
int main()
{
 char m1,m2,m3;
 m1=getchar();
 getchar();
 m2=getchar();
 m3=getchar();
 putchar(m1);
 putchar(m2);
 putchar(m3);
 return 0;
}*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值