请回答菜鸟一些C语言问题。求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

来源:百度知道 编辑:UC知道 时间:2024/06/02 13:30:42
2.程序源代码:
main()
{
int a,n,count=1;-------------------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);---------a=%d,是什么意思?
while(count<=n)
{
tn=tn+a;
sn=sn+tn;
a=a*10;----------------------是什么意思?为什么
++count;
}
printf("a+aa+...=%ld\n",sn);
}

1 count=1是给变量count(此变量是计数用的)赋初值为1.
2 只是一个提示信息
3 是输出的格式,说明输出的是数字
4 把变量a乘以10再赋给a

程序源代码:
main()
{
int a,n,count=1;-------------------count=1;这里是为了循环计数,就是循环次数
long int sn=0,tn=0;
printf("please input a and n\n");--------这一步是要提示你输入一a,和一个循环的次数n,n与count做比较。
scanf("%d,%d",&a,&n);
printf("a=%d,n=%d\n",a,n);---------a=%d,这里面就是说输出你输入的那个a,例如你输入a是5,n是6.屏幕就会打印出a=5,n=6.
while(count<=n)这里就是你输入的那个n和count比较了,循环,你得看看书了
{
tn=tn+a;
sn=sn+tn;
a=a*10;----------------------这里是关键的部分,你想5变成55 是怎么变得呢?是不是5×10+5呢?上面说的,就是这个问题。
++count;//执行一次,count就做+1的操作,直到count=n,循环结束。
}
printf("a+aa+...=%ld\n",sn);这就是最后的打印输出了。
}

count=1,这是一个赋值语句,count是变量名
printf("please input a and n\n"),这句要不要都可以,这句是在输入前给你个提示,在屏上显示please input a and n,
a=%d,输出时显示a=,等号后面是a的值,%d是输出格式,表示十进制整数。
a=a*10,你不是要求a+aa+aaa+aaaa+aa...a的值吗,我