谭浩强 C程序设计 8.10写一函数,输入一行字符,将此字符串中最长的单词输出。
Posted Allen101
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谭浩强 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写一函数,输入一行字符,将此字符串中最长的单词输出。的主要内容,如果未能解决你的问题,请参考以下文章
谭浩强 C程序设计 8.2 求方程 的根,用三个函数分别求当b^2-4ac大于0等于0和小于0时的根,并输出结果。从主函数输入abc的值。
C语言程序设计,谭浩强老师第三版里面的一个关于浮点型数据的舍入误差问题