| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 564 人关注过本帖
标题:一个字符串处理的问题
只看楼主 加入收藏
wswm
Rank: 2
等 级:论坛游民
帖 子:3
专家分:10
注 册:2010-7-25
收藏
 问题点数:0 回复次数:5 
一个字符串处理的问题
这道题目是说: 编写一个程序来统计输入的字符串中字母、数字、空格的个数?


#include <stdio.h>

///////////////////////////////////
//    主函数
//////////////////////////////////
void main()
{   
    void count(char str[]);
    char text[80];
    printf("请输入一串字符串:");
    //scanf("%s",str);     //我一开始是用scanf()获取输入的字符串可是能运行但结果不正确
    gets(text);            //我用gets()就正确  我想问为啥?????   
    count(text);

}

///////////////////////////////////
//    查找函数
//////////////////////////////////

void count(char str[])            
{
    int i;
    int j=0,z=0,x=0;
    for(i=0;str[i]!='\0';i++)
    {
        if(str[i]>='0'&&str[i]<='9')
            j++;
        else if((str[i]>='A'&&str[i]<='Z')||(str[i]>='a'&&str[i]<='z'))
            z++;
        else if (str[i]==32)
            x++;
        
    }
    printf("字母个数:%d,数字个数:%d,空格个数:%d\n",z,j,x);
}

[ 本帖最后由 wswm 于 2011-1-21 11:43 编辑 ]
搜索更多相关主题的帖子: 统计 字符串 
2011-01-21 11:42
limingzhen90
Rank: 2
等 级:论坛游民
帖 子:53
专家分:72
注 册:2010-12-31
收藏
得分:0 
scanf():当输入的是空格(回车)时,就会当做字符串输入结束了!而gets不会!

入门了吗?
2011-01-21 12:14
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:0 



#include <stdio.h>

///////////////////////////////////
//    主函数
//////////////////////////////////
void main()
{   
    void count(char str[]);
    char text[80];
    printf("请输入一串字符串:");
    //scanf("%s",str);/*你这输入字符串到哪里啊,str????str是什么,你有声明吗???或你写错了吗????*/      
  gets(text);         
}

///////////////////////////////////
//    查找函数
//////////////////////////////////

void count(char str[])            
{
    int i;
    int j=0,z=0,x=0;
    for(i=0;str[i]!='\0';i++)
    {
        if(str[i]>='0'&&str[i]<='9')
            j++;
        else if((str[i]>='A'&&str[i]<='Z')||(str[i]>='a'&&str[i]<='z'))
            z++;
        else if (str[i]==32)
            x++;
        
    }
    printf("字母个数:%d,数字个数:%d,空格个数:%d\n",z,j,x);
}

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-01-21 19:47
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:0 
回复 2楼 limingzhen90
你的签名好有个性啊!!!!!!!!!!!!!

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-01-21 19:49
yangfanconan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:10
帖 子:397
专家分:541
注 册:2009-9-22
收藏
得分:0 
c++才有字符串定义吧。
2011-01-21 20:30
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
收藏
得分:0 
程序代码:
int text_count(char *str);
int main(int args, char *argv[])
{
  int i = 1;
  if(args < 2)
  {
     printf("please input  string"
  }
  for(; i < args; i++)
   {
     text_count(argv[i]);
   }
}
....

gcc -o main main.c

...
./main string1.....
any as you want.

为什么要限制string的length呢。
如果不限制用command line来input string可能会更好。

要练习算法就来http:///!!有挑战哦!!
2011-01-21 20:45
快速回复:一个字符串处理的问题
数据加载中...
 
   



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

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