| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 856 人关注过本帖
标题:[求助]这个题目谁能给我点提示
只看楼主 加入收藏
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
结帖率:66.67%
收藏
 问题点数:0 回复次数:9 
[求助]这个题目谁能给我点提示
任意输入一个整数,运用函数计算各个位数字相加的结果,如果结果为非“单”位数字,则继续相加,直至结果为“单”位数字为止。
如:输入12345,1+2+3+4+5=15,1+5=6) 结果为6;
输入123, (1+2+3=6) 结果为6。
搜索更多相关主题的帖子: 提示 数字 结果 
2007-05-20 00:56
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
收藏
得分:0 

获取每位
如果SUM<10 则循环相加

2007-05-20 01:22
福尔摩斯
Rank: 5Rank: 5
等 级:贵宾
威 望:12
帖 子:4011
专家分:370
注 册:2006-8-15
收藏
得分:0 

我给你说下简明的思路

首先,这题目是一个求各位数的和

那么我们可以利用求模运算求出各个位数上的数(当然用指针偏移也可以达到这个效果)

其次我们要对求出来的和进行再判断,它是否大等于10

如果大等于10,方法同上;如果小于10,输出

下边是代码:

#include<stdio.h>
int main()
{
int i,sum=0,x;
scanf("%d",&i);
if(i>0)//判断你输入的值是否非负,如果非负,这执行下边代码
{
while(i>=1)
{
sum+=(i%10);
i/=10;
}
while(sum>=10)
{
x=sum;
sum=0;
while(x>=1)
{
sum+=(x%10);
x/=10;
}
}
}
else sum=-1;//如果你输入的是负数,那么就给sum赋上-1,这个作用相当于bool型,当然C99标准里是有bool型,只是我给忘记了而已
if(sum!=-1)printf("%d\n",sum);
else printf("error\n");
getch();
return 0;
}

其实,在这个main中,我们两次用到
sum+=(i%10);
i/=10; 这种运算

我们完全可以给它独立写成一个定义函数,让我们调用就可以


自我放逐。。。
2007-05-20 01:48
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
厉害!!!谢啦。。。

生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2007-05-20 06:05
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
#include<stdio.h>
void main()
{
char s[20];
int sum,i;
while(scanf("%s",s)!=EOF)
{
sum=0;
for(i=0;s[i];i++) sum+=s[i]-'0';
printf("%d\n",sum%9?sum%9:9);
}
}

思路很简单一个数字对9的余数等于其各位数字对9的余数.

2007-05-20 11:04
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
哇 楼上的公式不错啊 我想借用一下

羊肉串 葡萄干 哈密瓜!!
2007-05-20 12:01
yinlenc
Rank: 1
等 级:新手上路
帖 子:147
专家分:0
注 册:2007-5-17
收藏
得分:0 
用函数的递归狠简单的

2007-05-20 22:46
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
以下是引用mp3aaa在2007-5-20 12:01:46的发言:
哇 楼上的公式不错啊 我想借用一下

其实我是借别人的


2007-05-21 14:37
倾城ゅ流浪
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-5-19
收藏
得分:0 
5楼的厉害啊 
2007-05-21 16:32
快速回复:[求助]这个题目谁能给我点提示
数据加载中...
 
   



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

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