首页 > 代码库 > 谭浩强 C程序设计 8.10写一函数,输入一行字符,将此字符串中最长的单词输出。
谭浩强 C程序设计 8.10写一函数,输入一行字符,将此字符串中最长的单词输出。
代码量稍微一大,就会出现bug,浪费很多时间,继续努力。
#include <stdio.h> void main(){ void maxLen(char str[50]); char str[50]; gets(str); maxLen(str); } void maxLen(char str[50]){ int i,j=1,t=-1,start=0,m; int maxNum(int num[50]); int num[50]={0}; num[0]=-1;//num[1]放第一个单词的长度,num[2]放第二个单词的长度,。。。 for(i=0;i<50;i++){ if(str[i]==‘ ‘ || str[i]==‘\0‘) {num[j]=i-t-1;t=i;j++; } } //找出num[j]最大时的下标m m=maxNum(num); //计算最长字符串的开始位置 for(i=1;i<m;i++){ start += (num[i]+1); } //输出最长字符串 for(i=start;i<start+num[m];i++){ printf("%c",str[i]); } printf("\n"); } int maxNum(int num[50]){ int i,j; int max=num[0];//num[0]=-1 for(i=0; i<50; i++){ if(max<num[i]){max=num[i]; j=i;} } return (j); }
谭浩强 C程序设计 8.10写一函数,输入一行字符,将此字符串中最长的单词输出。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。