| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 361 人关注过本帖
标题:整数分类(求大神帮忙)
只看楼主 加入收藏
小梦妍
Rank: 1
等 级:新手上路
帖 子:3
专家分:5
注 册:2012-12-12
结帖率:0
收藏
已结贴  问题点数:20 回复次数:8 
整数分类(求大神帮忙)
数分类
Acceteped : 1394           Submit : 3569
Time Limit : 1000 MS         Memory Limit : 65536 KB
 
Description
Description

按照下面方法对整数x进行分类:如果x是一个个位数,则x属于x类;否则将x的各位上的数码累加,得到一个新的x,依次迭代,可以得到x的所属类。比如说24,2+4=6,则24的类别数是6;39,3+9=12,1+2=3,则39的类别数是3。
输入

       每行输入一个非负整数n,n的位数<500,n为0时结束。
输出

       每行输出对应整数的分类数。
 
Sample Input
24
39
0
 
Sample Output
6
3
 
Source
ericxie
 请问下面的代码为什么wrong answer
第一种
#include <stdio.h>
#include <math.h>
main()
{
    int n;
    while (scanf("%d", &n) && n != 0)
    {
        n = n % 9;
        if (n == 0)
            n = 9;
        printf("%d ", n);
    }
}

第二种
#include <stdio.h>
int calc(int n)
{
    if (n < 10)
        return n;
    else
        return calc(n % 10 + calc(n / 10));
}

int main()
{
    long long int n;
    while (scanf("%d", &n) && n != 0)
    {
        printf("%d\n", calc(n));
    }
    return 0;
}
搜索更多相关主题的帖子: Memory 
2012-12-12 10:20
小梦妍
Rank: 1
等 级:新手上路
帖 子:3
专家分:5
注 册:2012-12-12
收藏
得分:0 
快来人啊
2012-12-12 10:23
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:7 
Sample Input
24
39
0

你看好了样例输入
是输入一系列数据 最后以0结束输入   而不是输入一个输出一个
建议你用数组把输入数据接收进去 然后再统一输出

DO IT YOURSELF !
2012-12-12 10:33
jk_love
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:196
专家分:965
注 册:2012-10-22
收藏
得分:7 
目测 米有错误样
2012-12-12 10:36
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:7 
"n的位数<500"
--- 看懂了吗?
2012-12-12 10:37
jk_love
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:196
专家分:965
注 册:2012-10-22
收藏
得分:0 
  2楼正解 ,没注意~ ~
2012-12-12 10:37
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用rjsp在2012-12-12 10:37:08的发言:

"n的位数<500"
--- 看懂了吗?
没注意到  这需要使用字符串整数来模拟了

DO IT YOURSELF !
2012-12-12 10:40
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
以下是引用wp231957在2012-12-12 10:40:14的发言:

没注意到  这需要使用字符串整数来模拟了

需要吗?
2012-12-12 11:02
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
随手写了一个,用gcc4.7.2编译通过。如果你的编译器比较老旧,不支持现在的C语言,你自己改一下代码,因为就几行
程序代码:
#include <stdio.h>

int main()
{
    unsigned n = 0;
    for( int c; (c=getchar())!=EOF; )
    {
        if( c == '\n' )
        {
            if( n == 0 )
                break;

            printf( "%u\n", n );
            n = 0;
            continue;
        }

        n += c-'0';
        n = n/10 + n%10;
    }

    return 0;
}

2012-12-12 11:10
快速回复:整数分类(求大神帮忙)
数据加载中...
 
   



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

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