C语言:请编写一个程序,从键盘读入两个整数a和n,计算并输出a+aa+aaa+...+aa...a(n个a)的值。

非常感谢。。。急用!!!
2025年03月01日 17:17
有5个网友回答
网友(1):

#include 

void main()

{int i,j,a,n,k=0,out=0;

printf("请输入a与n:");

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

for(i=0;i

{

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

{

k=k*10+a;

}

out+=k;

k=0;

}

printf("the result is:%d\n",out);

}

或者用楼上的公式

#include 

void main()

{int i,a,n,k=1,out;

printf("请输入a与n:");

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

for(i=0;i

{

 k=k*10;

}

out=a*k/81-10*a/81-a*n/9;

printf("the result is:%d\n",out );

}

网友(2):

/* Note:Your choice is C IDE */
#include "stdio.h"
#include
void main()
{
int a,i,n,b;
double sum=0.0;
printf("请输入a值:");
scanf("%d",&a);
printf("请输入n值:");
scanf("%d",&n);
sum=b=a;
for(i=1;i {b+=a*pow(10,i);//求第n项的值,pow是10的i次幂的函数
sum+=b;//各项值累积求和
}
printf("它们的和为:");
printf("%lf",sum);//输出各数的和
}
//a是整型数,请楼主注意

网友(3):

要带数组的?

#include
void main()
{
int a,n,b,s;
printf("请输入小于10的自然数a:\n");
scanf("%d ",&t);
if(t<=0||t>=10)
prinf("输入错误\n")
else
a=t;
printf("请输入自然数n:\n");
scanf("%d ",&t);
if(t<=0)
prinf("输入错误\n")
else
n=t;
s=b=a; //初始化s和b
for(i=1;i {
printf("您要计算的表达式是:\n")
printf("%d+",b)
b=b*10+a; //确定第i个数b
s+=b; //前i个数的和
}
printf("求和结果为:%d",s)
}

若要使用数组,首先要确定数组的大小,就是给n限定一个最大值,如100

#include
void main()
{
int a[100],n,b,s,t; //t为临时变量
printf("请输入小于10的自然数a:\n");
scanf("%d ",&t);
if(t<=0||t>=10)
prinf("输入错误\n")
else
a[0]=t;
printf("请输入自然数n:\n");
scanf("%d ",&t);
if(t<=0||t>100)
prinf("输入错误\n")
else
n=t;
s=b=a[0]; //初始化s和b
for(i=1;i {
printf("您要计算的表达式是:\n")
printf("%d+",b)
a[i+1]=a[i]*10+a[0]; //确定第i个数b
s+=a[i+1]; //前i个数的和
}
printf("求和结果为:%d",s)
}

网友(4):

程序我不会编,但这个公式我知道=a*(10^(n+1))/81-(10a)/81-(a*n)/9

网友(5):

读入(a,n);

for(i=0;i{
for(j=0;j<=i;j++)
{
k=k*10+1;
}
out+=k;
k=0;
}
out=out*a;

输出 out;