A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 FengLinHuoShan 于 2015-11-20 21:39 编辑

#include <stdio.h>
#include <string.h>

int main(){
    //
    printf("请输入一句话:\n");
    //定义数组a,使用gets()函数接收一句话放到数组a中
    char a[100];
    gets(a);
    int len = strlen(a);//定义变量len接收这句话中总共有几个字母
    char *s[100];
    int count = 0;
    *s = a;
    for (int i=0; i<len; i++) {//循环如果碰到空格count加1,并将空格换成\0————count表示单词的个数,
        if (a==' ') {
            count++;
            a='\0';
            s[count]=&a[i+1];//把每一个单词的首地址放到指针数组中
        }
    }
    char *max = s[0];
    for (int i=0; i<=count; i++) {//循环遍历指针数组,求出最长单词并输出
        if (strlen(max)<strlen(s)) {
            max = s;
        }
    }
    printf("最长单词是%s",max);
}

9 个回复

倒序浏览
这个大家估计用的到,黑马基础测试的题目,有更好的思路吗?
回复 使用道具 举报
指针那段没有看懂
回复 使用道具 举报
支持一下
回复 使用道具 举报
和我写的差不多,但是如果有多个最长的字符串,你只能输出一个。这是我的源码,仅供参考http://bbs.itheima.com/thread-258491-1-1.html
回复 使用道具 举报
支持一下来了,顺带学习
回复 使用道具 举报
荣荣 中级黑马 2015-11-22 08:42:20
7#
#import <Foundation/Foundation.h>
char str0[100];
int max=0;

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //输入一个字符串
        NSLog(@"请输入一个字符串:");
        gets(str0);

        NSString *str = [NSString stringWithFormat:@"%s",str0];

        NSLog(@"您数入的字符串:%@",str);

        //将字符串准换成数组
        NSArray *arr = [str componentsSeparatedByString:@" "];

        //找出数组的最大长度
        for (int i = 0; i<arr.count; i++)
        {
            max = (max>(int)[arr length])?max:(int)[arr length];
        }

        //将所以最大长度的元素输出
        for (int i = 0; i<arr.count; i++)
        {
            if ((int)[arr length]==max)
            {
                NSLog(@"最大长度的字符串为:%@,长度为%d",arr,max);
            }
        }
    }
    return 0;
}

回复 使用道具 举报
楼主的代码有bug,输入hello! my name is geekeringer!这串字符串时,代码给出的结果是:最长单词是hello!,这明显不对,希望楼主能够改善,我会试着帮您改改
回复 使用道具 举报
ToBeJeek1 发表于 2015-11-22 13:41
楼主的代码有bug,输入hello! my name is geekeringer!这串字符串时,代码给出的结果是:最长单词是hello!, ...

兄弟 我运行没有错误啊发达
回复 使用道具 举报
black747521 发表于 2015-11-21 14:28
和我写的差不多,但是如果有多个最长的字符串,你只能输出一个。这是我的源码,仅供参考http://bbs.itheima ...

兄弟 你的技术分好多啊 能给我几个吗??你懂的!!嘿嘿
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马