欢迎来到天天文库
浏览记录
ID:8977202
大小:56.50 KB
页数:3页
时间:2018-04-13
《c语言-获取字符串中最长的单词》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、获取字符串中最长的单词题目:写一函数,输入一行字符,将字符串中最长的单词输出。说明:i、k用来遍历,flag作为是否是字母的标志,max表示最长单词的字母的个数,str[100]用来存放输入的字符串,ch[10]用来暂时存放各个单词,最多可存放10个字母的单词,str1[10]用来存放最长的单词。#include#includecharword(charstr[]){inti,k,flag=0,max=0;charstr1[10],ch[10];for(i=0;str[i]!=' ';i++)if((65<=str[i]&&str[i
2、]<=90)
3、
4、(97<=str[i]&&str[i]<=122))\如果该字符是字母{if(flag==0)\如果该字符是字母,且新单词未开始{k=0;ch[k]=str[i];flag=1;}elseif(i==strlen(str)-1)\如果该字符是字母,新单词已开始,且已到达字符串结尾{k++;ch[k]=str[i];ch[k+1]=' ';if(k+1>max)\k+1表示单词的长度{max=k+1;strcpy(str1,ch);}}else\如果该字符是字母,新单词已开始,且未到达字符串结尾{k++;ch[k]=str[i];}}elseif(
5、flag==1)\如果上一个单词已结束{ch[k+1]=' ';flag=0;if(k+1>max){max=k+1;strcpy(str1,ch);}}printf("输入的字符串中,最长的单词有%d个字母,该单词是%s",max,str1);}main(){chara[100];printf("请输入一行字符:");gets(a);word(a);\调用word函数}函数大致流程图如下(“<=”是赋值):从实参数组a中获取数据到数组str中。i<=0否Str[i]不等于结束符’ ’输出str1,结束是Str[i]是字母否Flag==1是是否i==strl
6、en(str)-1Flag==0否k<=k+1ch[k]<=str[i]是是k<=k+1ch[k]<=str[i]ch[k+1]<=’ ’flag<=1ch[k+1]<=’ ’k<=0ch[k]<=str[i]flag<=1k+1>max是i<=i+1max<=k+1strcpy(strl,ch)在C-FREE5.0上的运行结果:
此文档下载收益归作者所有