码迷,mamicode.com
首页 > 其他好文 > 详细

谭浩强 C程序设计 8.10写一函数,输入一行字符,将此字符串中最长的单词输出。

时间:2017-07-23 21:12:17      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:程序   log   blog   就会   字符   努力   ==   ++   art   

 代码量稍微一大,就会出现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写一函数,输入一行字符,将此字符串中最长的单词输出。

标签:程序   log   blog   就会   字符   努力   ==   ++   art   

原文地址:http://www.cnblogs.com/Allen-win/p/7225693.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!