| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 841 人关注过本帖
标题:函数问题: 输入一行字符,统计其中的英文字符、数字字符、空格和其他字符的 ...
只看楼主 加入收藏
编程了啊
Rank: 2
等 级:论坛游民
威 望:1
帖 子:31
专家分:20
注 册:2013-12-19
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:9 
函数问题: 输入一行字符,统计其中的英文字符、数字字符、空格和其他字符的个数。(用函数的形式)
输入一行字符,统计其中的英文字符、数字字符、空格和其他字符的个数。(用函数的形式)
搜索更多相关主题的帖子: 英文 统计 
2013-12-19 23:12
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:0 
给我们出的题目?

三十年河东,三十年河西,莫欺少年穷!
2013-12-19 23:32
编程了啊
Rank: 2
等 级:论坛游民
威 望:1
帖 子:31
专家分:20
注 册:2013-12-19
收藏
得分:0 
回复 2楼 韶志
用函数怎么做,求解
2013-12-19 23:42
naixin
Rank: 2
等 级:论坛游民
帖 子:16
专家分:26
注 册:2013-10-5
收藏
得分:3 
回复 楼主 编程了啊
#include <stdio.h>
#include <string.h>
void find(char str[]);
int main()
{
    char str[1000];
    gets(str);
    find(str);
}
void find(char str[])
{
    int i,k,a,b,c,d;
    a=b=c=d=0;
    k=strlen(str);
    for(i=0;i<k;i++)
    {
        if (str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')
           a++;
        else if (str[i]>='0'&&str[i]<='9')
            b++;
        else if (str[i]==' ')
            c++;
        else
           d++;
    }
    printf("%d %d %d %d\n",a,b,c,d);
}
2013-12-20 00:36
犬虫门心本人
Rank: 2
等 级:论坛游民
帖 子:28
专家分:26
注 册:2013-12-19
收藏
得分:2 
程序代码:
#include<stdio.h>
#include<ctype.h>    // isalpha()函数和isdigit()函数的声明

// 程序中尽量不要直接出现数值(所谓的神仙数字),那样会降低程序可读性,是公司、团队开发的大忌。
#define ALPHA    0
#define NUMBER    1
#define SPACE    2
#define OTHER    3

// 如无万分必要,不要定义全局数据;即使需要全局数据,也尽量是“只读”的;这样可以降低模块间的耦合程度,符合软件工程的基本思想。
const char *charType[] =
{
    "字母字符",    // 下标为0
    "数字字符",    // 下标为1
    "空格",        // 下标为2
    "其它字符"     // 下标为3
};

void getFreq(char *str, int *freq); // 实现统计工作

void getFreq(char *str, int *freq)
{
    int i;
    int type;

    for(i = 0; str[i]; i++)
// 字符串存在一个0结束标识(最恶心人的念法是“杠零”,为什么不叫“哑铃”呢!);这就是标准的“遇0则止”
    {
        if(isalpha(str[i]))
            type = ALPHA;
        else if(isdigit(str[i]))
            type = NUMBER;
        else if(str[i] == ' ')
            type = SPACE;
        else
            type = OTHER;

        freq[type]++;
    }
}

void main(void)
{
    char str[128];
    int freqCount[4] = {0};
    int i;

    printf("请输入一串字符:\n");
    gets(str);

    getFreq(str, freqCount);

    for(i = 0; i < 4; i++)
        printf("%s出现%d次\n", charType[i], freqCount[i]);
}
2013-12-20 06:59
犬虫门心本人
Rank: 2
等 级:论坛游民
帖 子:28
专家分:26
注 册:2013-12-19
收藏
得分:0 
不玩技巧,玩软工。软件工程思想才是硬道理。
2013-12-20 07:03
xiaozi2013
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:四川成都
等 级:蒙面侠
威 望:6
帖 子:830
专家分:4331
注 册:2013-12-13
收藏
得分:0 
个人观点:
       同四楼
-------五楼是秀技巧的吗---------
个人觉得:
       while语句+'if else if'语句即可实现此功能!

--整天敲那些破代码能找着媳妇儿吗。。。---
2013-12-20 08:59
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
收藏
得分:0 
这个看一下ascii表  然后用if判断就可以啊。




                                     ——疑似作业

一花一世界、一叶一追寻、片片花叶落、情系何人身。
2013-12-20 09:27
编程了啊
Rank: 2
等 级:论坛游民
威 望:1
帖 子:31
专家分:20
注 册:2013-12-19
收藏
得分:0 
回复 4楼 naixin
谢谢啊,  刚学还不太会用函数
2013-12-20 23:16
编程了啊
Rank: 2
等 级:论坛游民
威 望:1
帖 子:31
专家分:20
注 册:2013-12-19
收藏
得分:0 
回复 5楼 犬虫门心本人
好复杂啊!     我是新手
2013-12-20 23:17
快速回复:函数问题: 输入一行字符,统计其中的英文字符、数字字符、空格和其他 ...
数据加载中...
 
   



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

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