| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 18237 人关注过本帖
标题:统计一段字符中的字母个数,数字个数,空格个数
只看楼主 加入收藏
苦瓜也很甜
Rank: 1
等 级:新手上路
帖 子:15
专家分:3
注 册:2012-3-13
结帖率:80%
收藏
已结贴  问题点数:18 回复次数:7 
统计一段字符中的字母个数,数字个数,空格个数
我编了一个程序,好多错误,大家帮忙看看什么问题。我觉得这个题难在字符个数不确定,我用不了scanf。
#include<stdio.h>
void main()
{
    int a=0,b=0,c=0,d=0,i;
    char a[100];  /*假定字符串长度小于100*/
gets(a);
for(i=0;i<=99;i++)
{if(a[i]>=48&&a[i]<=57)  /*这个范围是数字的范围*/
a++;
if(a[i]>=65&&a[i]<=122)  /*这个范围是字母的范围*/
b++;
if(a[i]==32)   /*这个是空格*/
c++;
else d++;}    /*其他的情况*/
printf("%d,%d,%d,%d",a,b,c,d);  /*a,b,c,d分别是数字个数,字母个数,空格个数*/
}
搜索更多相关主题的帖子: 字符串 统计 字母 
2012-04-03 11:12
Litsam
Rank: 1
等 级:新手上路
帖 子:9
专家分:8
注 册:2012-3-19
收藏
得分:0 
将i<=99  改为a[i]!='\0'  这样好点吧。
2012-04-03 11:34
飞莲
Rank: 2
等 级:论坛游民
帖 子:42
专家分:64
注 册:2011-12-28
收藏
得分:3 
strlen这个函数能确定个数
2012-04-03 11:48
苦瓜也很甜
Rank: 1
等 级:新手上路
帖 子:15
专家分:3
注 册:2012-3-13
收藏
得分:0 
回复 2楼 Litsam
你说的是这样吗?还是有错误啊
#include<stdio.h>
void main()
{
    int a=0,b=0,c=0,d=0,i;
    char a[100];  /*假定字符串长度小于100*/
gets(a);
for(i=0;a[i]!='\0';i++)
{if(a[i]>=48&&a[i]<=57)  /*这个范围是数字的范围*/
a++;
if(a[i]>=65&&a[i]<=122)  /*这个范围是字母的范围*/
b++;
if(a[i]==32)   /*这个是空格*/
c++;
else d++;}    /*其他的情况*/
printf("%d,%d,%d,%d",a,b,c,d);  /*a,b,c,d分别是数字个数,字母个数,空格个数*/
}
2012-04-03 11:52
蓝xuan
Rank: 4
等 级:业余侠客
帖 子:81
专家分:211
注 册:2012-3-31
收藏
得分:10 
#include<stdio.h>
#include<string.h>                            //加上字符串头文件
void main()
{
    int a=0,b=0,c=0,d=0,i,l;
    char s[100];  /*假定字符串长度小于100*/     //字符串名与变量名重复,改个变量名  
    gets(s);                                  //设定字符串长度
   
l=strlen(s);                                 
    for(i=0;i<=l;i++)
      {if(s[i]>=48&&s[i]<=57)  /*这个范围是数字的范围*/
        a++;
       if(s[i]>=65&&s[i]<=122)  /*这个范围是字母的范围*/
        b++;
    if(s[i]==32)   /*这个是空格*/
        c++;
    else d++;
    }    /*其他的情况*/
    printf("%d,%d,%d,%d",a,b,c,d);  /*a,b,c,d分别是数字个数,字母个数,空格个数*/
}
2012-04-03 12:13
苦瓜也很甜
Rank: 1
等 级:新手上路
帖 子:15
专家分:3
注 册:2012-3-13
收藏
得分:0 
回复 5楼 蓝xuan
我竟然没有发现数组名与变量名重复了,我真是菜!!!
2012-04-03 13:58
studyer000
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-4-3
收藏
得分:0 
整型a与字符型数组a[]这样定义是不允许的,随便改一个。最后的else没必要有。
2012-04-03 15:11
天一神话
Rank: 2
等 级:论坛游民
帖 子:23
专家分:33
注 册:2012-3-29
收藏
得分:5 
#include<stdio.h>
#include<string.h>                        
void main()
{
    int a=0,b=0,c=0,d=0,e=0,i;
    char s[100];  /*假定字符串长度小于100*/      
    gets(s);                                                                 
    for(i=0;i<100 && s[i]!='\0';i++)
      {if(s[i]>='0' && s[i]<='9')  /*这个范围是数字的范围*/
        a++;
       else if(s[i]>='A' && s[i]<='Z')  /*这个范围是大写字母的范围*/
        b++;
       else if(s[i]>='a' && s[i]<='z')/*这个范围是小写字母的范围*/
        c++;
       if(s[i]==' ')   /*这个是空格*/
        d++;
       else
         e++;
    }
    printf("%d,%d,%d,%d,%d",a,b,c,d,e);  /*a,b,c,d, e分别是数字个数,大写字母个数,小写字母个数,空格个数,标点符号个数*/
}
2012-04-04 17:10
快速回复:统计一段字符中的字母个数,数字个数,空格个数
数据加载中...
 
   



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

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