求Sn=a+aa+aaa+……+aa…a(n个a)之值,其中a是一个数字,n表示a的位数 。用C语言怎样编程

 我来答
肥仙女a
高粉答主

2018-03-31 · 我是游戏小达人,专注于分享游戏资讯。
肥仙女a
采纳数:477 获赞数:115575

向TA提问 私信TA
展开全部

C语言编程:

#include <stdio.h>

int main(int argc, char *argv[])

{

int a;

int n;

int num=1;//计算每次n个a的值

int sum=0;//计算总和

int i;

scanf("%d%d",&a,&n);

for(i=0;i<n;i++)

{

if(i==0)//第一次

{

num=a;

sum+=num;

}

else//以后的都满足关系:这个数等于前一个数*10+a

{

num=num*10+a;

sum+=num;

}

}

printf("%d",sum);//输出总和

return 0;

详细操作:

打开Dev-c++软件,点击“新建源代码”。

具体程序如下:

#include <stdio.h>

int main()

{

int i,j,a,n,sum=0,term=0;

printf("please input a number:");

scanf("%d",&a);

printf("please input n number:");

scanf("%d",&n);

for(i=1;i<=n;i++)

{

term=term*10+a;

sum=sum+term;

}

printf("a+aa+aaa+...+a...a=%d",sum);

return 0;

编写完程序之后,点击运行即可得出结果。最后的结果是根据自己输入的n值和a值为基础来进行运行的,每次输入的值不同,结果也会不同。

其中:for表示循环结构,i 表示循环条件,在编写程序时,注意给赋予增值变量的条件。

其中:term=term*10+a 中的term表示a的位数,跟随每次循环结构的变换,term不断被赋予新值。sum=sum+term 表示累加的值,每次循环之后的sum都会被赋予新值,所以,在编写程序时,要注意 i 的最大循环次数,否则,此程序会无限选循环下去,最终没有结果。

愔愔柯基
推荐于2018-02-23 · 还没有填写任何签名哦
愔愔柯基
采纳数:11 获赞数:128

向TA提问 私信TA
展开全部

#include <stdio.h>

int main(int argc, char *argv[])

{

int a;

int n;

int num=1;//计算每次n个a的值

int sum=0;//计算总和

int i;

scanf("%d%d",&a,&n);

for(i=0;i<n;i++)

{

if(i==0)//第一次

{

num=a;

sum+=num;

}

else//以后的都满足关系:这个数等于前一个数*10+a

{

num=num*10+a;

sum+=num;

}

}

printf("%d",sum);//输出总和

return 0;

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liuzechun555
2013-04-13 · TA获得超过288个赞
知道答主
回答量:74
采纳率:0%
帮助的人:39.1万
展开全部

#include <stdio.h>

void main()

{

int a,n;

int i,j;

long s=0,x=1,y;

printf("请输入a和n的值:\n");

scanf("%d%d",&a,&n);

for(i=0;i<n;i++)

{

x*=10;

y=a*(x-1)/9;/*aaaa的表示方法*/

s+=y;

}

printf("s=%ld\n",s);

}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-14
展开全部
首先,an=a*111…1=a/9*999…9=a/9*(10^n-1)。所以,sn=a/9*(10-1+10^2-1+…+10^n-1)=a/9*(1+10+10^2+…+10^n-n-1)=a/9*((10^(n+1)-1)/9-n-1)。
剩下用C编程好了。用循环是最笨的办法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
三石9
2013-04-14
知道答主
回答量:51
采纳率:0%
帮助的人:22.4万
展开全部
举个例子吧,2222就等于(10000-1)/9*2,在用个累加就行了,思路是这样,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式