| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 866 人关注过本帖
标题:为什么说答案错误,明明没错呀
只看楼主 加入收藏
yaomin
Rank: 1
等 级:新手上路
帖 子:4
专家分:3
注 册:2013-12-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:13 
为什么说答案错误,明明没错呀
帮忙看下哪错了#include"stdio.h"

int main()
{
    int n,i;
    char str[1000];
    scanf("%d",&n);
    getchar();
    while(n--)
    {
        gets(str);
        int count=0;
        for(i=0;str[i]!='\0';i++)
        {
        
            if(str[i]>='0'&&str[i]<='9')
                count++;
        }
        printf("%d\n",count);
    }
    return 0;
}



题目题目描述



对于给定的一个字符串,统计其中数字字符出现的次数。字符串长度不超过1000.

输入



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

输出



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

样例输入
2
asdfasdf123123asdfasdf
asdf111111111asdfasdfasdf

样例输出
6
9
搜索更多相关主题的帖子: include return 字符串 count 统计 
2013-12-03 18:54
loveClangage
Rank: 8Rank: 8
来 自:广东云浮
等 级:蝙蝠侠
帖 子:326
专家分:891
注 册:2013-8-23
收藏
得分:3 
错什么,哪里错了?

编写的程序,不能改变世界,却可以改变自己...
2013-12-03 19:11
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:3 
因为你的输入输出与 样例给的不一样

三十年河东,三十年河西,莫欺少年穷!
2013-12-03 19:11
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:0 
把数组定义成二维数组就能符合题意了

#include<stdio.h>
int main()
{
    int n,i=0,j,count;
    char str[10][1000];
    scanf("%d",&n);
    for(j=0;j<n;j++){   //连续输入字符串
        getchar();
        gets(str[j]);
    }
    while(n--)
    {
        count=0;
        for(j=0;str[i][j]!='\0';j++)
        {
        
            if(str[i][j]>='0'&&str[i][j]<='9')
                count++;
        }
        printf("%d\n",count);
        i++;
    }
    return 0;
}
图片附件: 游客没有浏览图片的权限,请 登录注册



三十年河东,三十年河西,莫欺少年穷!
2013-12-03 19:22
daring_star
Rank: 2
等 级:论坛游民
帖 子:38
专家分:65
注 册:2013-10-20
收藏
得分:3 
#include<stdio.h>

 int main()
 {
     int n,i;
     int count;
     char str[1000];
     scanf("%d",&n);
     getchar();
     while(n--)
     {
         count = 0;
         gets(str);
         
         for(i=0;str[i]!='\0';i++)
         {
         
             if(str[i]>='0'&&str[i]<='9')
                 count++;
         }
         printf("%d\n",count);     
     }
     return 0;
 }
把count的定义放在最前面就可以了。

一如大学深似海,从此节操是路人。
2013-12-03 19:24
daring_star
Rank: 2
等 级:论坛游民
帖 子:38
专家分:65
注 册:2013-10-20
收藏
得分:0 
#include<stdio.h>

 int main()
 {
     int n,i;
     int count;
     char str[1000];
     scanf("%d",&n);
     getchar();
     while(n--)
     {
         count = 0;
         gets(str);
         
         for(i=0;str[i]!='\0';i++)
         {
         
             if(str[i]>='0'&&str[i]<='9')
                 count++;
         }
         printf("%d\n",count);     
     }
     return 0;
 }
把count的定义放在最前面就可以了。

一如大学深似海,从此节操是路人。
2013-12-03 19:24
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:0 
回复 6楼 daring_star
你这样改有什么不同吗?
或者说这样改是为了什么

三十年河东,三十年河西,莫欺少年穷!
2013-12-03 19:30
daring_star
Rank: 2
等 级:论坛游民
帖 子:38
专家分:65
注 册:2013-10-20
收藏
得分:0 
他只是统计字符串中的数字个数,这样就可以了啊……,要连续输入的话,再改下就ok了,有必要说的很清楚吗????

一如大学深似海,从此节操是路人。
2013-12-03 21:09
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:0 
回复 8楼 daring_star
我是在问你帖子上的改动有何意义?
不要答非所问好不好

三十年河东,三十年河西,莫欺少年穷!
2013-12-03 21:11
好男儿!
Rank: 2
来 自:陕西省
等 级:论坛游民
帖 子:29
专家分:52
注 册:2013-7-26
收藏
得分:3 
回复 楼主 yaomin
有关统计字符串及其频度,我给一个方案:
#include<stdio.h>
#include<conio.h>

void main(void)
{
    int freq[256] = {0};    //初始化数组全为0
    int i;                              
    char s[256];                      //定义一个拥有256个元素的数组(内含扩展ASCII码,如果题目没必要的话            
                                          //给128,基本ASCII码就够用了
    puts("请输入一个字符串:");      
    gets(s);

    for(i = 0; s[i]; i++)      //遍历字符串,如果当前字符非0(不是0结束标志)
        freq[s[i]]++;      //给以该字符的ASCII码为下标的元素值加1(因为字符在计算机里就是ASCII值(编号),这点儿你得懂)
    for(i = 0; i < 256; i++)   //输出,如果该字符的ASCII码为下标的元素值非0,表示该字符出现过,而他的元素值就是该字符出现的次数
        if(freq[i])
            printf("%c:%d\n", i, freq[i]);

    getch();
}
希望能帮到你。
2013-12-03 21:34
快速回复:为什么说答案错误,明明没错呀
数据加载中...
 
   



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

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