C语言编写:求Sn=a+aa+aaa+…+aa…a n个a之值

C语言编写:求Sn=a+aa+aaa+…+aa…a n个a之值,其中a是一个数字。例如:2+22+222+2222+22222(此时n=5),n由键盘输入。

l#include "stdio.h"
int main()
{
long i,j,a,n,sn = 0,sum = 0; /* sn为每一个a的值,sum为总值*/
scanf("%d%d",&a,&n);
for(i = 1; i <= n; i++ ) /* 关键就在这两个嵌套循环内*/
{
sn = sn*10 + a; /* 累乘每次a的新值*/
sum = sum + sn; /* 累加总值*/
}
printf(" = %ld",sum);
return 0;
}
楼上的解答不对
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-12-13
你用的是TC还是VC?我这里给你个tc环境的,供你参考一下。
#include "stdio.h"
int main()
{ long i,j,a,n,sn = 0,sum = 0; /* sn为每一个a的值,sum为总值*/
scanf("%d%d",&a,&n);

for(j = 1; j <= n; j++ )
{ for(i = 1; i <= j; i++ ) /* 关键就在这两个嵌套循环内*/
sn = sn*10 + a; /* 累乘每次a的新值*/
printf("%ld + ",sn);
sum = sum + sn; /* 累加总值*/
}
printf(" = %ld",sum);
return 0;
}

这好像有一种算法,但是我也不知道具体的。我也是菜鸟一个,希望能帮到你。
第2个回答  2017-10-23
看了一下楼上的代码,在楼上的基础上改进了一下,比楼上的简便一些。希望可以帮到你们。(int可以改为long)

#include<stdio.h>
main()
{
int n,Sn=0,i,sum=0,a;
printf("请输入a,n的值\n");
scanf("%d,%d",&a,&n);
for(i=1;i<=n;i++)
{
Sn=Sn*10+a;
sum=sum+Sn;
}
printf("值的结果是:%d\n",sum);
return 0;
}

C语言编写:求Sn=a+aa+aaa+…+aa…a n个a之值
这个计算是错的吧,是a+aa+aaa+...+aaaaaa 所以可以做如下修改:include<stdio.h>#include<math.h>int main(){int n,a,sn,sa;double m;printf("输入 a,n\\n");scanf("%d,%d",&a,&n); for(m=0,sn=0,sa=a;m<=(n-1);) {sn=sn+sa;sa = sa*10+a;\/\/第m+1个式...

C语言编写:求Sn=a+aa+aaa+…+aa…a n个a之值
l#include "stdio.h"int main(){ long i,j,a,n,sn = 0,sum = 0; \/* sn为每一个a的值,sum为总值*\/ scanf("%d%d",&a,&n);for(i = 1; i <= n; i++ ) \/* 关键就在这两个嵌套循环内*\/ { sn = sn*10 + a; \/* 累乘每次a的新值*\/ sum = sum + sn; ...

C语言编写:求Sn=a+aa+aaa+…+aa…a n个a之值其中a是一个数字
sn=sn+a*e(i+1)中e没有定义 if 和else之间的语句应该用{}括起来 ruturn拼写错误,应为return 由 sn=a+aa+aaa+...+aaaaa...=a\/9*(9+99+999+...+99999...=a\/9*(10+10^2+...+10^n-n)10+10^2+...+10^n可以由等比数列和的公式算出通项 ...

C语言作业。求Sn=a+aa+aaa+……+aaa…a(n个a)之值,其中a是一个数字...
include <stdio.h>int main(void){ int a,n,count=1,sn=0,tn=0; printf("请输入a和n:\\n"); scanf("%d%d",&a,&n); while(count<=n) { tn=tn*10; tn=tn+a; sn=sn+tn; count ++; } printf("结果=%d\\n",sn); return 0;} ...

C语言编程编写一程序, 求Sn= a+aa+aaa+…+aaa…aaa(n个a)的值,其中a...
include<iostream>\/\/ n+1 代表的是位数,从0开始,即n=0代表一位int getValue(int a, int n) { int temp = a; while (n > 0) { temp = temp * 10 + a; n--; } return temp;}int main() { using namespace std; int a, n,result = 0; int ...

C语言题目求Sn=a+aa+aaa+aaaa+...+aaa...a(n个a)之值,其中a是一个数字...
可以参考下面的代码:include<stdio.h> int main() { int n,temp,i,sum=0,a;scanf("%d %d",&n,&a);temp=a;for(i=0; i<n; i++) { sum+=temp;temp=temp*10+a;} printf("%d\\n",sum);}

C语言编程:求Sn=a+aa+aaa+···+aa··a(n个a)的值,其中a和N键盘输入...
include <stdio.h> void main(){ int a,n,count=1;long int sn=0,tn=0;printf("please input a and n\\n");scanf("%d%d",&a,&n);printf("a=%d,n=%d\\n",a,n);while(count<=n){ tn=tn+a;sn=sn+tn;a=a*10;++count;} printf("a+aa+...=%ld\\n",sn);} ...

利用C++求Sn=a+aa+aaa+...+aa...a(n个a)之值
int main() \/\/主函数{int a,n,sn,s,i,j; \/\/a,n,sn,s和两个循环变量 do{printf("请输入a(1-9):"); \/\/输入提示 scanf("%d",&a);}while(a<1||a>9);\/\/输入一个1-9的数给a do{printf("请输入n:");

求S=a+aa+aaa+...+aaa...a的编程题
求Sn=a+aa+aaa+...+aaa...a(n个a)之值,其中a是一个数字。例如;2+22+222+2222+22222(此时n=5),n由键盘输入。初看的话,觉得它有点棘手,觉得代码要挺长的,但事实上却可以这样写:c语言代码:include <stdio.h> void main(){ int a,n,i=1,sn=0,m=0;printf("a,n=");sc...

急!!C语言.编程计算a+aa+aaa+……+aa…a(n个a)的值,要求n和a由用户从...
编程计算1*2*3 3*4*5 编程输出以下图案 编程 用1元5角 换 s=a aa aaac c语言求Sn=a aa aaa aa与aaa电池电量 求8!的结果编程 编程计算1! 2! 编程输出九九乘法表 其他类似问题2012-11-15 C语言.编程计算a+aa+aaa+……+aa…a(n个a)的... 1 2016-06-19 编程计算a+aa+aaa+a...

相似回答