用C语言问题

来源:百度知道 编辑:UC知道 时间:2024/05/04 15:15:09
求Sn=a+aa+aaa+…+aa…a(n个a)之值,其中a是一个数字,由键盘输入。
例如:2+22+222+2222+22222(此时n=5)。
能写一个TC下的吗?

#include <stdio.h>
#include <math.h>

long fac(int n,int a)
{ long sum;
if(n==1)
{
sum=a;
}
else {
sum=(long)(pow(10,n-1)*a)+fac(n-1,a);
}
return(sum);

}

main()
{int a,n,i;
long temp,sum=0;
printf("plz input number a\n");
scanf("%d",&a);
printf("plz input number n\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
temp=fac(i,a);
printf("the %dst num is %ld \n",i,temp);
sum+=temp;
}
printf("the sum is %ld",sum);
return 0;
}

楼上做的不错 收藏了

//vc下的
#include<stdio.h>
int Sn(int a,int n);
void main()
{
char a;
int b;
printf("请输入a:");
scanf("%c",&a);
b=Sn(a-0x30,5);//a-0x30是将输入的“字符数字”变成数字,n=5可以修改
printf("结果:%d\n