C语言 C++数字字符串

C语言 C++数字字符串

问题描述:

任务描述
题目描述:对于给定的一个字符串,统计其中数字字符出现的次数。
相关知识(略)
编程要求
请仔细阅读下面代码,结合相关知识,在Begin-End区域内进行代码补充。 输入 输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。 输出 对于每个测试实例,输出该串中数值的个数,每个输出占一行。、
测试说明
样例输入: 2 asdfasdf123123asdfasdf asdf111111111asdfasdfasdf 样例输出: 6 9
#include<stdio.h>
int main(void)
{
    /Begin/

    /End*/
    return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{ int n,count,i,k;
char a[500];
scanf("%d",&n);
while(n--)
{
count=0;
scanf("%s",&a);
k=strlen(a);
for(i=0;i<k;i++)
if(a[i]<'A')
count++;
printf("%d\n",count);
}
}

一个简单的实现:

#include <stdio.h>

int main(void){
    
    int  num;   //定义存放几个数据行的变量 
    scanf("%d",&num);  //获取存放几行数据 
    char  str[50];  //定义存放数字字母的字符串,最大50个字符 
    int n[num];   //定义每个数据行有几个数字的数组变量 
    
    //初始化这个数组变量 
    for(int i=0;i<num;i++){
        n[i] = 0;
    }
    

    int k = 0;  //每个数据行有几个数字的数组访问下标变量 
    for(int i=0;i<num;i++){   //循环读取所需行数据 
        scanf("%s",str);      //读取数字字母字符串到变量str 
        
        int j = 0;    //访问读取到的数字字母字符串str的访问下标变量 
        while(str[j]!='\0'){    //如果这个字符串str没有访问到结尾,就执行下面的数字寻找操作 
            //如果在字符串str找到了数字 ,就把数字数量数组响应位置的数量+1 
            if(str[j]>='0'&&str[j]<='9'){   
                n[k]++;                        
            }
            j++;   //访问str字符串下一个字符 
        }
        
        k++;   //开始下一轮字符串读取操作 
        
    }
    
    //打印数字数量数组 
    for(int i=0;i<num;i++){
        printf("%d\n",n[i]);
    }
    
    return 0;
    
}