解题思路:我们可以把所要算的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 人评分
字符串输入输出函数 (Java代码)浏览:1440 |
C语言训练-求函数值 (C语言代码)浏览:937 |
【计算两点间的距离】 (C语言代码)浏览:883 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:1195 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:576 |
格式化数据输出 (C语言代码)浏览:821 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:719 |
C语言训练-字符串正反连接 (C语言代码)浏览:632 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:1220 |
哥德巴赫曾猜测 (C语言代码)浏览:724 |