原谅我老是不知道什么状况

为什么我输入的数字只能得到0的结果,不知道我的算法还是哪里出了问题

img


#include <stdio.h>

 

int main()

{int a,n;

int s=0;

int t;

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

t=a;

if (n==1)

{printf("%d",t);

}

else

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

{if (i==1)

{printf(" %d +",a);

}

a=a*10+t;

s=s+a;

 if (i<n-1)

{
printf(" %d +",a);}

else

{printf(" %d",a);

}

}

s=s+t;

printf(" = %d",s);

return 0;

}


#include<stdio.h>
int main()
{
int a,n,count=1;
double sum=0,an=0;
scanf("%d%d",&a,&n); //eg: a=2;n=3; sum=2+22+222;
while(count<=n) //count 为循环次数
{
an = an + a; //2+0; 20+2; 220+2;
sum = sum + an;
a=a*10;
count++;
}
printf("%.2lf ",sum);
return 0;
}
输入:2 3
输出:246.00