c语言字符数组中数字字符的统计

任务描述题目描述:对于给定的一个字符串,统计其中数字字符出现的次数。输入输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成... 任务描述
题目描述:对于给定的一个字符串,统计其中数字字符出现的次数。

输入
输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。

输出
对于每个测试实例,输出该串中数值的个数,每个输出占一行。

样例输入
2
asdfasdf123123asdfasdf
asdf111111111asdfasdfasdf

样例输出
6
9
我的码是#include<stdio.h>
#include<string.h>
int main(void)
{
/*********Begin*********/
int n,count,i,k,j;
char a[100];
scanf("%d",&n);
int b[100]={0};
while(n>0)
{
count=0;
scanf("%s",a);
k=strlen(a);
for(i=0;i<k;i++)
{
if(a[i]<='9'&&a[i]>='0')
count++;
}
b[n-1]=count;
n--;
}
for(j=n-1;j>=0;j--)
printf("%d",b[j]);
return 0;
}
/*********End**********/
有什么错吗
展开
 我来答
刀劈华山
2018-12-18 · TA获得超过2273个赞
知道小有建树答主
回答量:1338
采纳率:72%
帮助的人:387万
展开全部
#include<stdio.h>
#include<string.h>

int main(void)
{
    int n,count,i,k,j,w;
    char a[100];
    scanf("%d",&n);
    w = n;//先把n存起来  n是一个用户输入的常量 最好不要修改 就算修改也要知道原始值
    int b[100]={0};
    
    while(n > 0)
    { 
        count = 0;
        scanf("%s",a); 
        k = strlen(a);
        
        for(i=0; i<k; i++)
        {
            if(a[i]<='9' && a[i]>='0')
            {
                count++;
            }
        } 
        b[n-1] = count;
        n--;
    }
    
    //这时n已经等于0了!!!
    //for(j=n-1; j>=0; j--)
    for(j=w-1; j>=0; j--)
    {
        printf("%d\n", b[j]);
    }
    return 0;
}
更多追问追答
追问
运行的话,值不对啊
比如2
asdadasd123
回车输出的是11
好像都不读下面的值了
追答

百度网友3cffda32a1
2018-12-18 · TA获得超过2016个赞
知道大有可为答主
回答量:1860
采纳率:83%
帮助的人:1090万
展开全部
#include <stdio.h>
int main(){
int n,count;
char s[100],*p=s;
scanf("%d",&n);
getchar();
for(;n;n--){
count=0;
gets(p);
for(;*p;*p++)
if(*p>='0'&&*p<='9')
count++;
printf("%d\n",count);
}
}

更多追问追答
追问
是要第一行输入n行值
然后接下来n行每行计算数字字符的数目
最后输出,回车为界
追答
#include <stdio.h>
int main(){
int n;
char s[100],*p=s;
scanf("%d",&n);
getchar();
int count[n]={0};
for(int i=0;i<n;i++){
gets(p);
for(;*p;*p++)
if(*p>='0'&&*p<='9')
count[i]++;
}
for(int i=0;i<n;i++)
printf("%d\n",count[i]);
}

这样吗?

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
勤奋的编程菜鸟
2018-12-18
知道答主
回答量:83
采纳率:14%
帮助的人:10.2万
展开全部
n已经变成0了,最后一个for循环没用(和没写没区别)
追问
那我把起初的n赋值到一个新的x上面,最后的循环用x替换n好像还是不行
追答
不把统计结果存放数组里面,直接输出呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式