大一女 请问一个关于循环的小问题,谢谢好心人
题目是sn=a+aa+aaa+aaaa......+n个a 为止:比如a=2;n=5
那么sn的值等于
2+22+222+2222+22222
=24690
#include<stdio.h>
int main()
{
int n,a,j,tn,sn;
tn=0;
sn=0;
printf("a,n= : \n");
scanf("%d,%d",&a,&n);
for (j=1;j<=n;j++)
{
tn=tn+a;
sn=sn+a;
a=a*10;
}
printf("%d\n",sn);
return 0;
}
为什么无论我输入什么它的返回值都是0啊?
我试过2,5
先输入一个2再加一个逗号再输5
出来的值为0
为什么啊?
请问一下好心人,我错在哪里了?
谢谢!
你的逗号是不是输入成中文的逗号,改成英文的逗号就可以正常输出,但是最终输出的是n个a,不是你想要的相加结果
#include<stdio.h>
int main()
{
int n, a, j, tn, sn;
tn = 0;
sn = 0;
printf("a,n= : \n");
scanf("%d,%d", &a, &n);
for (j = 1;j <= n;j++)
{
tn = tn + a;
sn = sn + tn; //这行a修改成tn就可以了
a = a * 10;
}
printf("%d\n", sn);
return 0;
} 不会C,不过代码看起来好像少了个分号,导致直接打印sn rencaixiaomeng 发表于 2018-11-30 19:32
你的逗号是不是输入成中文的逗号,改成英文的逗号就可以正常输出,但是最终输出的是n个a,不是你想要的相加 ...
谢谢你!!!我改过来了,你是正确的!{:10_297:} 哇,来迟一步,多好的机会被抢走了。{:10_266:}
页:
[1]