| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 768 人关注过本帖
标题:有需要代码的进来拿啊 有仍砖头的都拍进来砸啊
取消只看楼主 加入收藏
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
结帖率:99.76%
收藏
 问题点数:0 回复次数:6 
有需要代码的进来拿啊 有仍砖头的都拍进来砸啊
程序代码:
#include<stdio.h>
//本函数的功能就是把一个整数拆分成一个字符数组
//并返回该字符数组的有效长度
int chaifen(char des[],int source)
{
    int i=0;
    while(source>0)
    {
        des[i]=source%10+48;
        i++;
        source=source/10;
    }
    return i;
}
//程序功能,计算所谓的数根
//比如 888=24=6  888999=51=6
//写到这里,突然想到这个所谓的数根其实就是9除的余数啊
//那还写这么多废话代码干嘛啊
int main(void)
{
    char test[100];
    for(int j=0;j<100;j++) test[j]='\0';
    int i=chaifen(test,888778996)-1;
    int total=0;
    while(1)
    {
        total=total+test[i]-48;
        i--;
        if ((i<0) && (total>9))
        {
            i=chaifen(test,total)-1;
            total=0;
        }
        if((i<0) && (total<10))
        {
            break;
        }
    }
    printf("total=%d\n",total);
    return 0;
}
搜索更多相关主题的帖子: source 
2012-11-27 08:51
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
程序代码:
#include<stdio.h>

int main(void)
{
    printf("total=%d\n",888999%9);
    return 0;
}
其实这不能算代码了 估计求出的数根也是正确的

DO IT YOURSELF !
2012-11-27 08:52
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
嗯,用我第一段程序 得出9的数根是9  其实也是9
不过我写的程序 感觉有些繁琐 不够简练

DO IT YOURSELF !
2012-11-27 09:42
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
一个大于0的数的数根不可能是0
所以模9余0的 数根就是9
但这也只是推论  

还是老老实实的模拟手工运算来写代码 较好

DO IT YOURSELF !
2012-11-27 09:49
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
杨兄弟,正好你在线
咨询个问题

while(1)
{
   while(1)
   {
      while(1)
      {
         if(1) goto _exit;
      }
   }
}
_exit:
这是一个由n重循环直接跳出的例子  我习惯用goto 比较快而清晰
但是据说goto 不怎么受欢迎  而break 只能跳出当前一重循环
还有其他法子吗

DO IT YOURSELF !
2012-11-27 10:05
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用czz5242199在2012-11-27 10:10:22的发言:

如果数是an-1an-2...a0,(an-1*10^n-1+an-2*10^n-2+....a0*10^0)%9=(an-1+an-2+...an-0)%9,由于不断用右边的形式变,所以最终会变成一个[1,9]之间的数,所以双方是等价的,最终答案应该是(n%9==0)?9:n%9

这个我就最后(n%9==0)?9:n%9 能看懂 嘿嘿

DO IT YOURSELF !
2012-11-27 10:30
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用zhu224039在2012-11-27 10:55:15的发言:

第一个,数子和数字字符是反的

我知道啊
反正是求和   和顺序就没啥关系了  所以就没修正

DO IT YOURSELF !
2012-11-27 10:57
快速回复:有需要代码的进来拿啊 有仍砖头的都拍进来砸啊
数据加载中...
 
   



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

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