| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 403 人关注过本帖
标题:还是求助,谢谢。
只看楼主 加入收藏
沉小默言
Rank: 2
等 级:论坛游民
帖 子:15
专家分:11
注 册:2011-5-27
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:8 
还是求助,谢谢。
#include <stdio.h>


int main()
{
    int n,number,i,j;
    char c;
    char a[1008];
   
    while(scanf("%d",&n)!=EOF)
    {   number =0;
        for (i=0; i<n; i++)
        {
            getchar(a);
            for (j=0; (c=a[j])!='\0'; j++)
             {
                      if (c>='0'&&c<='9')
                      number++;
             }
             printf("%d\n",number);
        }
    }
    return 0;
}


这就是求计算一段字符中的数字数,但是没有结果输出,请大家帮帮忙,看看。谢谢。
2011-05-28 11:49
qy1987
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-5-12
收藏
得分:0 
fdsafa
2011-05-28 11:56
沉小默言
Rank: 2
等 级:论坛游民
帖 子:15
专家分:11
注 册:2011-5-27
收藏
得分:0 
回复 2楼 qy1987
。。。。

虽然很简单,不用嘲笑我吧。
2011-05-28 11:58
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:5 
有那么复杂吗?
程序代码:
#include <stdio.h>
int main (void) {
        int i,num=0;
        char str[80],*p=str; 
        gets(str);  //输入字符串
        while(*p) {
                if(*p>='0'&&*p<='9') num++; //遇到数字字符num增量
                p++;
        }
        printf("number of digit in string:%i\n",num);
        return 0;
}

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-05-28 12:01
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
getchar(a); //a是你事先定义的字符数组,而函数getchar不需要接受任何参数的,它只是返回一个字符给调用者。

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-05-28 12:03
沉小默言
Rank: 2
等 级:论坛游民
帖 子:15
专家分:11
注 册:2011-5-27
收藏
得分:0 
回复 4楼 ansic
复杂是因为题目规定了格式,
首先要输入一个数字,代表输入的字符串的组数,
然后再分开算的。
2011-05-28 12:04
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
是这样的嘛
程序代码:
root@~ #cat t.c
#include <stdio.h>

int main (void) {

        int n,num=0,i;
        char c,a[100];
//输入字符数组长度n
        printf("Enter number of array:\n");
        scanf("%i",&n);
//输入字符
        for(i=0;i<n;i++) {
                c=getchar();
                a[i]=c;
        }
//统计数字字符的个数
        for(i=0;i<n;i++) {
                if(a[i]>='0'&&a[i]<='9') {
                        num++;
                }
        }
//打印结果
        printf("Number=%i\n",num);

        return 0;

}

root@~ #

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-05-28 12:22
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:4 
程序代码:
#include <stdio.h>


int main()
{
    int n,number,i,j;
    char c;
    char a[1008];
   
    while(scanf("%d",&n)!=EOF)
    {
        getchar();
        number =0;
        for (i=0; i<n; i++)
        {
            gets(a);
            for (j=0; a[j]; j++)
             {
                      if (a[j]>='0'&&a[j]<='9')
                      number++;
             }
             printf("%d\n",number);
        }
    }
    return 0;
}
如果是一行 那么直接用gets

                                         
===========深入<----------------->浅出============
2011-05-28 14:03
weiwei555
Rank: 5Rank: 5
来 自:中国
等 级:职业侠客
帖 子:179
专家分:323
注 册:2011-3-4
收藏
得分:1 
ansic 和 laoyang103  的都正确,laoyang103你的头像
2011-05-29 13:44
快速回复:还是求助,谢谢。
数据加载中...
 
   



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

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