解题思路:我们可以把所要算的Tom数的位数存于一个数组里,后面在把数组里的数相加就得到我们要算的Tom数了
注意事项:注意定义变量的类型,防止溢出
参考代码:
#include<stdio.h>
//注意定义变量的类型
long long a;//定义一个全局变量a(Tom数)
long b[1000]={0};//定义全局数组存Tom数的每个位数
long f_2()//计算a的位数返回到n
{
long n=0,b=1;
for(int i=1;i<a;i++,b*=10)
{
if(a/b) n++;
else return n;
}
}
long f_3(long n)//把a中各个位的数存到数组b中
{
int x=0,k=1;
for(int j=0;j<n;j++,k*=10)
{
b[j]=a/k%10;
}
}
long f_4(long n)//计算b数组中的和并存在sum中
{
long sum=0;
for(int i=0;i<n;i++)
{
sum+=b[i];
}
return sum;
}
int main()
{
long n,sum;
while(scanf("%lld",&a)!=EOF)
{
if(a!=0)
{
n=f_2();
f_3(n);
sum=f_4(n);
printf("%ld\n",sum);
}
if(a==0) break;
}
return 0;
}
0.0分
3 人评分
点我有惊喜!你懂得!浏览:4111 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:677 |
字符串输入输出函数 (Java代码)浏览:1498 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:481 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:553 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:781 |
校门外的树 (C语言代码)浏览:988 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:468 |
The 3n + 1 problem (C语言代码)浏览:603 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:583 |