请大神们用c语言编写,并且用for循环,尽量不要太复杂,谢谢

/**给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。

输入格式:

输入在一行中给出不超过9的正整数a和n。

输出格式:

在一行中按照“s = 对应的和”的格式输出。

输入样例:
2 3

输出样例:
s = 246
**/

 #include<stdio.h>
void main(){
    int i =0;
    int sum = 0;
    int a ;
    int tmp = 0;//第n项
    int n =0;
    printf("input a: ");
    scanf("%d",&a);
    printf("input n:");
    scanf("%d",&n);
    tmp = a;
    for(i = 0; i < n; i++){
        sum += tmp;
        tmp = tmp * 10 + a;//通项公式A(n)=A(n-1)*10 + a
    }
    printf("%d\n",sum);
}

#include
int main(){
int a,n;//a数字 n是次数
long sum=0;//定义一个变量是总和 ,10个九位数 相加也不会超过11位数,因此用long
scanf("%d %d",&a,&n); //录数据
//因为是n个数相加,因此得循坏n次 ,我采用的方法是对应位数上相加,如个位数肯定要加n次,即n*a,十位数有n-1个,即(a*10)以此类推,如为第i位,则为n-i个数,对应的数值
//a*(10^(i-1)) 注意:注释中的i和代码中的i无关
for(int i=0;i<n;i++){
long tempSum=a;
long countNum=n-i;
for(int j=0;j<i;j++){
tempSum=tempSum*10;
}
tempSum=countNum*tempSum;
sum=sum+tempSum;
}
printf("%d",sum);
}

double A(int n,int a)
{
double sum=a;
for(int i=1;i<n;i++)
{

sum=sum*10+a;
}
return sum;
}//n个a的和
int main()
{int a,n;
scanf(a=%d,n=%d,&a,&n);
double sum=0;
for(int i=1;i<=n;i++)
{
sum =sum+A(a,i);
}
printf("s=%d",sum);
}