统计字符串中数字,字母,空格的个数

这是C语言课后的一道习题,网上可以找到很多相关的代码,都可以很好的基本完成题目要求

但是,我发现很多的代码都无法实现统计字符串中大于10的数字(只局限于统计0-9之间的数字)

此程序可以改进具有十位,百位,千位,甚至更大的数字的统计:

#include<stdio.h>
int main()
{
    char a[50] ="1 2 3 a b c d @ 15 21 19 88 r 78 100 189 1598 46";
    int i,j;
    int d = 0, c = 0, e = 0,sum=0;
    for (i = 0; i < 50; i++)
    {
        if ((a[i] >= 65 && a[i] <= 90) ||( a[i] >= 97 && a[i] <= 122))
            d++;
        else if (a[i] == 32)
            c++;
        else
        {
            j=i+1;
            if (a[i] >= 48 && a[i] <= 57&&(a[j]==32||a[j]==‘\0‘))
            e++;
            else
                if(a[i] >= 48 && a[i] <= 57&&a[j]>=48&&a[j]<=57)
                {
                     e++;
                     e=e-1;
                }
        }
    }
    printf("字符中的字母的个数为:%d\n", d);
    printf("字符中空格的个数为:%d\n", c);
    printf("字符中数字的个数为:%d\n",e);

return 0;
}
时间: 2024-10-25 03:47:45

统计字符串中数字,字母,空格的个数的相关文章

统计字符串中,各个字符的个数(回炉练习)

__author__ = 'ZHHT' #!/usr/bin/env python # -*- coding:utf-8 -*- #统计字符串中,各个字符的个数 #比如:"hello world" 字符串统计的结果为: h:1 e:1 l:3 o:2 d:1 r:1 w:1 a = "hello world" b = set(a) for i in b: if i == ' ': c = a.count(i) i = '空格' print("%s出现%d次

统计字符串中大写字母个数

可将字符串转为字符数组,然后对数组进行遍历,进而统计大写字母的个数. 下面给出代码: import java.util.Scanner; public class Main { public static void main(String args[]){ Scanner in = new Scanner(System.in); String str = in.nextLine(); int count = 0; char ch[] = str.toCharArray(); //转为字符数组 f

正则表达式统计字符串中数字的个数

#coding=utf-8import stringimport restr='i have 300 yuan, you 234 234 give me 200 again, then i have 500 yuan'iList= re.findall(r"\d+",str)print "string:",strprint "total digit number:",len(iList) 原文地址:https://www.cnblogs.com/

统计字符串中的删除的单词个数

public class Demo24 { public static void main(String[] args) { String s = "woaijavahahajavaaiwo"; //原来字符串的长度 int length = s.length(); //删除后的长度 int replace = s.replace("java", "").length(); //删除的总长度 int x =length-replace; //单个

找错误——下面的程序意图在于统计字符串中字符数1的个数,可惜有瑕疵

#include<stdio.h>#define maxn 10000000+10int main(){ char s[maxn]; scanf("%s",s); int tot=0; for(int i=0;i<strlen(s);i++)   if (s[i]==1)tot++; printf("%d\n",tot);} 改程序至少有3个问题,一个导致程序无法运行,另一个导致结果不正确,还有一个导致效率低下.你能找到并改正他们吗? 关于此题我只

python统计字符串中每个单词出现的个数【一行】

s = 'i am very very like you and like you' dict( [(i, s.split().count(i)) for i in s.split()] ) Out[2]: {'i': 1, 'am': 1, 'very': 2, 'like': 2, 'you': 2, 'and': 1} set( map(lambda x:(x, s.split().count(x)), s.split()) ) Out[6]: {('am', 1), ('and', 1)

转载:js实现统计字符串中特定字符出现个数的方法

//js统计字符串中包含的特定字符个数 function getPlaceholderCount(strSource) {   //统计字符串中包含{}或{xxXX}的个数   var thisCount = 0;   strSource.replace(/\{[xX]+\}|\{\}/g, function (m, i) {     //m为找到的{xx}元素.i为索引     thisCount++;   });   return thisCount; }

c语言代码编程题汇总 :统计字符串中的大写和小写字母的个数

统计字符串中的大写和小写字母的个数 程序代码如下: 1 /* 2 2017年3月6日19:42:21 3 功能:统计字符串中的大写和小写字母的个数 4 */ 5 6 #include "stdio.h" 7 void fun (char *,int *,int *); 8 9 int main (void) 10 { 11 int m = 0,n = 0; 12 int *Pm = &m, *Pn = &n; 13 char s[100]; 14 printf (&qu

华为OJ平台——统计字符串中的大写字母

题目描述: 统计字符串中的大写字母的个数 输入: 一行字符串 输出: 字符串中大写字母的个数(当空串时输出0) 思路: 这一题很简单,直接判断字符串中的每一个字符即可,唯一要注意的一点是输入的字符串可能包含空格,所以读入的时候要用nextLine()方法 1 import java.util.Scanner; 2 3 public class CountCaptial { 4 5 public static void main(String[] args) { 6 Scanner cin = n