用数组做题。求sn =a+aa+aaa+……+aa…aa之值,其中a是一个数字,n表示a的位数,

来源:百度知道 编辑:UC知道 时间:2024/06/04 09:19:42
求sn =a+aa+aaa+……+aa…aa之值,其中a是一个数字,n表示a的位数,均,例如,sn =2+22+222+2222+22222(此时n=5).n由键盘输入
C语言里,用数组做题!

#include <math.h>
#include <stdio.h>
long add(int,int);
long item(int,int);
main(){
int a,n;
long s;
printf("请输入数字a与相加的个数n(如:2,5):");
scanf("%d,%d",&a,&n);
while(a<1||a>9){
printf("a的值输入错误,请重新输入(1-9):");
scanf("%d,%d",&a,&n);
}
s=add(a,n);
printf("s=%ld",s);
getch();

}

long add(int a,int n){
long sum=0;
if(n==1){
sum=a;
}else{
sum=item(a,n)+add(a,n-1);
}
return sum;
}
long item(int m,int t){
long addent=0;
if(t==1){
addent=m;
}else{
addent=pow10(t-1)*m+item(m,t-1);
}
return addent;
}

搞不懂了,这个用得着数组吗?
递归多方便啊

int sn(int n,int a){
//应该对n和a做检查,是否是int
if(n == 1){
retu