| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 739 人关注过本帖
标题:怎么优化这个程序
取消只看楼主 加入收藏
废名
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
快速回复:怎么优化这个程序
数据加载中...
 
   



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

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