永发信息网

1+11+111+…+111111111= 2+22+222+…+222222222=,…,9+99+999+…+999999999=用C语言如何编程求和?

答案:3  悬赏:60  手机版
解决时间 2021-11-15 04:36
  • 提问者网友:疯孩纸
  • 2021-11-14 13:29
1+11+111+…+111111111= 2+22+222+…+222222222=,…,9+99+999+…+999999999=用C语言如何编程求和?
最佳答案
  • 五星知识达人网友:夜余生
  • 2021-11-14 15:05
#include 
void main()
{
 double a,b,sn=0;
 int i,n;
 printf("please input a:");
 scanf("%lf",&a);//如果是1则是求1+11+111+...
 printf("please input n:");
 scanf("%d",&n);//表示有多少项
 b=a;
 for(i=1;i<=n;i++)
 {
  sn+=b;
  b=b*10+a;
 }
 

 printf("Sn=%.0lf
",sn);

 
}
结果:

1+11+111==123正确
全部回答
  • 1楼网友:酒醒三更
  • 2021-11-14 18:06
用递归调用求和,先想办法产生数,然后再求和,还有一咱办法,你可以看到,第一行结果是:123456789,第二个是第一个的2倍,。。。。第9个是第第一个的9倍,咋编程方法很多,你自己好好想想吧,呵呵,思想有 了,编程就要自己想了,要养成独立编程方法,编完后再对比一下别人的,自己收获会很大的,请参考。
  • 2楼网友:鱼忧
  • 2021-11-14 16:32
思路是这样的,首先要有一个计数的变量sum初始值为0,你需要一个循环来判断加多少次,这里假设有n次,循环内部每次获取一个数,然后加到sum中,每次加的数可以这样获取,10的n次方-1这个就是999999...(n-1个9)然后整体除以9得到这个式子是等不了的,不管你输入的是多长(控制输入!!!)
如果你想问的是输入2个数,比如a和n(a控制1-9当中的数,n控制多长,就是n个a,那就可以写!!!)
#include
void main(){
int a,n,sum=0;
int i;
long result=0;
printf("输入a和n:\n");
scanf("%d%d",&a,&n);
for(i=1;i<=n;i++){
result=result*10+a;
sum+=result;
}
printf("%d\n",sum);
system("pause");
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯