| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 457 人关注过本帖
标题:我编了一个程序,知道它有错但不知道怎么改,请大神帮忙
只看楼主 加入收藏
OnlyZhu
Rank: 1
等 级:新手上路
帖 子:34
专家分:4
注 册:2015-11-10
结帖率:77.78%
收藏
已结贴  问题点数:20 回复次数:3 
我编了一个程序,知道它有错但不知道怎么改,请大神帮忙
图片附件: 游客没有浏览图片的权限,请 登录注册

编程在一个输入的字符串(约定:字符数≤127字节)中查找最长数字单词和最长英文单词的长度。
#include<stdio.h>
int main()
{
    char a[127];
    int i,num=0,word=0;
    printf("please input a string:\n");
    for(i=0;(a[i]=getchar())!='\n';i++)
    {
        if(a[i]>='0'&&a[i]<='9')
        {
            num=num+1;
        }
        else if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z'))
        {
            word=word+1;
        }
    }
    printf("max_length of the number word is :%d\n",num);
    printf("max_length of the English word is: %d\n",word);
    return 0;
}
我知道我是把我输入的所有数字和字母的个数算了一遍,但是题目要求是求长度最长的字母以及数字,但不知道如何去改,请求帮助
2015-11-23 15:46
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:20 
程序代码:
#include <stdio.h>

#define MAX(a, b)  (((a)>(b)) ? (a) : (b))

int main( void )
{
    char s[128];
    gets( s );

    size_t numeric_len_max=0, alphabetic_len_max=0;
    {
        size_t numeric_len=0, alphabetic_len=0;
        for( const char* p=s; ; ++p )
        {
            if( *p>='0' && *p<='9' )
            {
                alphabetic_len_max = MAX( alphabetic_len_max, alphabetic_len );
                alphabetic_len = 0;
                ++numeric_len;
            }
            else if( (*p>='A'&&*p<='Z') || (*p>='a'&&*p<='z') )
            {
                numeric_len_max = MAX( numeric_len_max, numeric_len );
                numeric_len = 0;
                ++alphabetic_len;
            }
            else
            {
                alphabetic_len_max = MAX( alphabetic_len_max, alphabetic_len );
                numeric_len_max = MAX( numeric_len_max, numeric_len );
                numeric_len = 0;
                alphabetic_len = 0;
            }

            if( !*p )
                break;
        }
    }
    printf( "%zu, %zu\n", numeric_len_max, alphabetic_len_max );

    return 0;
}
2015-11-24 09:13
OnlyZhu
Rank: 1
等 级:新手上路
帖 子:34
专家分:4
注 册:2015-11-10
收藏
得分:0 
回复 2楼 rjsp
输出是对的,谢谢啦,我再看看研究研究
2015-11-25 17:48
OnlyZhu
Rank: 1
等 级:新手上路
帖 子:34
专家分:4
注 册:2015-11-10
收藏
得分:0 
回复 2楼 rjsp
有一点没看懂
图片附件: 游客没有浏览图片的权限,请 登录注册
那个*p
2015-11-25 23:27
快速回复:我编了一个程序,知道它有错但不知道怎么改,请大神帮忙
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027745 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved