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**********/
有什么错吗
展开
 我来答
百度网友3cffda32a1
2018-12-18 · TA获得超过2016个赞
知道大有可为答主
回答量:1860
采纳率:83%
帮助的人:1091万
展开全部
#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好像还是不行
追答
不把统计结果存放数组里面,直接输出呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式