标题:怎么优化这个程序
取消只看楼主
废名
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-10-17
结帖率:100%
已结贴  问题点数:5 回复次数:3 
怎么优化这个程序
简而言之就是反复对一个数n的各位求和,直到结果小于10,n在int类型内
#include<stdio.h>
int main(void)
{
    int a,b,c,d,e,f,g,h,i,j,n,m;
    scanf("%d",&n);
    if(n>=10)
    {
    for(;n>=10;)
    {
    a=n/1000000000;
    b=(n-a*1000000000)/100000000;
    c=(n-a*1000000000-b*100000000)/10000000;
    d=(n-a*1000000000-b*100000000-c*10000000)/1000000;
    e=(n-a*1000000000-b*100000000-c*10000000-d*1000000)/100000;
    f=(n-a*1000000000-b*100000000-c*10000000-d*1000000-e*100000)/10000;
    g=(n-a*1000000000-b*100000000-c*10000000-d*1000000-e*100000-f*10000)/1000;
    h=(n-a*1000000000-b*100000000-c*10000000-d*1000000-e*100000-f*10000-g*1000)/100;
    i=(n-a*1000000000-b*100000000-c*10000000-d*1000000-e*100000-f*10000-g*1000-h*100)/10;
    j=(n-a*1000000000-b*100000000-c*10000000-d*1000000-e*100000-f*10000-g*1000-h*100-i*10);
    m=a+b+c+d+e+f+g+h+i+j;
    n=m;
    }
    printf("%d",m);
    }
    else
    printf("%d",n);
    }
(另:怎么进行结帖操作)
搜索更多相关主题的帖子: include 
2014-12-27 10:47
废名
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-10-17
得分:0 
回复 3楼 诸葛欧阳
用int型最大位数算,前面空的位数用零补
2014-12-27 13:24
废名
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-10-17
得分:0 
回复 4楼 azzbcc
好厉害
2014-12-27 13:28
废名
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-10-17
得分:0 
还有,如果作用的数特别大,应该怎么输入
2014-12-27 14:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-440416-1-1.html




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

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