真龙海韵专供出口:一道C语言程序题

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/07 18:52:12
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时
共有5个数相加),几个数相加有键盘控制

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\n",a,n);
while(count<=n)
{
tn=tn+a; -----------这个T是哪跑出来的啊,有什么用处啊
sn=sn+tn;
a=a*10;
++count;
}
printf("a+aa+...=%ld\n",sn);
}

long int sn=0,tn=0;
楼主是不是看漏了

就拿2+22+222+2222+22222这个例子吧!

第一次循环!tn里存放 2
第二次循环!tn里存放 22
第三次循环!tn里存放 222
第四次循环!tn里存放 2222
第五次循环!tn里存放 22222
第六次循环!tn里存放 222222

作用明白了吧

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\n",a,n);
while(count<=n)
{
tn=tn+a; -----------tn是上面定义的长整型变量。作用就是使每个数的各位为a变量里储存的值。
sn=sn+tn;
a=a*10;
++count;
}
printf("a+aa+...=%ld\n",sn);
}