求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

 

方法1:

int main()
{
int a,n,count=1;
long int sn=0,tn=0;

printf("please input a and n:\n");
scanf("%d %d",&a,&n);
printf("a=%d,n=%d",a,n);

while(count<=n)
{
tn=tn+a;
sn=sn+tn;
a=a*10;
++count;
}
printf("\na+aa+...=%ld",sn);
}

 

方法2:

int main()
{
int a,n,count;
long int sn=0,tn=0;

printf("please input a and n:");
scanf("%d %d",&a,&n);
printf("a=%d,n=%d",a,n);

for(count=1;count<=n;count++)
{
tn=tn+a;
sn=sn+tn;
a=a*10;
}
printf("\na+aa+...=%ld",sn);
}

 

注意:

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

dev-c++(基于C89标准)中编译出错,[Error] 'for' loop initial declarations are only allowed in C99 or C11 mode

错误,直接在for循环中初始化了增量,

换成C99标准或C11标准就可以在for循环内定义i变量了。

posted @ 2018-07-17 15:11  黑大帅gs  阅读(570)  评论(0编辑  收藏  举报