C语言编程:s=1+12+123+1234+12345求高手!

困惑
2024-11-24 11:01:52
推荐回答(3个)
回答1:

自定义一个递归求和函数在主改察消函数中用(12345)调用,是求解此题十分恰当的选择。代码如下:

#include "stdio.h"
int f(int n){//自定义递归核知求和函数
if(n==1)
return 1;
return n+f(n/10);//用n/10调用满足每项逐次少低位数的规律
}
int main(int argc,char *argv[]){
printf("%d\n",f(12345));//用最后没局一项数字调用求和
return 0;
}

执行结果如下:

回答2:

只给算法: int s = 1; //s等于1,为了 下面的算式方便 for(int i=1; i<=5; ) { s += i*10 + ( ++i ) /搭迅/ i*10 + ( ++i ) 求出下一个数等于多少 // s记录每次循环的的和等于多少 } spirtf ("s=%d',s) //知伍此 完成求出S的答橘顷案 明白不??简单。。。

回答3:

//楼上那位朋闭唤友的算法错轿配凯啦...... #include
void main()
{
int a=1;
int s=0;
for(int i=1;i<6;i++)
{
s+=a;
a=a*10+(i+1);
}
printf("1+12+123+1234+12345=%d\n"卖液,s);
}