当前位置: 代码迷 >> C语言 >> [讨论]第二期题目,大家做做.
  详细解决方案

[讨论]第二期题目,大家做做.

热度:88   发布时间:2006-11-19 17:19:49.0
顶,.........
大家快来做题拉拉拉...................
----------------解决方案--------------------------------------------------------

呵呵!我在论坛里发过第二道题!

大家快来做题啊!!!!!

[此贴子已经被作者于2006-11-19 17:26:05编辑过]


----------------解决方案--------------------------------------------------------
以下是引用zhanghuan_10在2006-11-19 17:25:51的发言:

呵呵!我在论坛里发过第二道题!

大家快来做题啊!!!!

原来如此.
----------------解决方案--------------------------------------------------------
以下是引用cwande在2006-11-19 16:41:10的发言:
第二题:
[CODE]#include<stdio.h>
#include<string.h>
const int M=10000;
char a[M];
int main()
{
int i,len,sum;
while(gets(a),a[0]!='0')
{
sum=0;
for(i=0,len=strlen(a);i<len;i++)
sum+=a[i]-48;
if(sum>9)sum%=9;
if(sum==0)sum=9;
printf("%d\n",sum);
}
return 0;
}[/CODE]

不错不错
----------------解决方案--------------------------------------------------------

#include <stdio.h>
#include <conio.h>

void main()
{
long num,temp;
int total=0;
clrscr();
printf("INPUT number:\n ");
scanf("%ld",&num);
printf("\n\t%ld",num);
temp=num;
while((num/10)!=0){

total+=(int)(temp%10);
if((temp/10)==0)
{num=(long)total;printf("---%d",total);temp=num;total=0;}
else
{temp=temp/10;}
}/*while*/
getch();
}


----------------解决方案--------------------------------------------------------

WAITWAIT……配置路游中,这也很重要。给点时间。今天特别忙。我带回宿舍研究下。MS不是太难。都这么多代码了哈!


----------------解决方案--------------------------------------------------------
9楼的那个思路不错~
----------------解决方案--------------------------------------------------------

第一题关键是长整数的运算
比如输入如下:
1
1234567890 987654321
不知道该怎么算了....

[此贴子已经被作者于2006-11-20 13:43:31编辑过]


----------------解决方案--------------------------------------------------------

用64位整数


----------------解决方案--------------------------------------------------------

求数根:例如39
是这样求到的39--->3+9=12--->1+2=3结束.
123456--->1+2+3+4+5+6=16=1+6=7结束. 1+2+3+4+5+6=21=2+1=3 加错了哦


#include <stdio.h>
long get( long );
main()
{
long n;
printf("please input a number : ");
scanf("%ld",&n);
while(n>9)
{
n=get(n);
}
printf("the result is %ld \n",n);
}

long get(long n)
{
long temp=0;
while(n)
{
temp+=n%10;
n/=10;
}
return temp;
}


----------------解决方案--------------------------------------------------------
  相关解决方案