解题思路:我们可以把所要算的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 人评分
输出九九乘法表 (C语言代码)浏览:557 |
【亲和数】 (C语言代码)浏览:543 |
十->二进制转换 (C语言代码)浏览:1296 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:748 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:761 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:1067 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:688 |
C语言程序设计教程(第三版)课后习题6.6 (C++代码)浏览:634 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:704 |
Cylinder (C语言描述+详细分析)浏览:3270 |