//s=a+aa+aaa+……+aaaaaaa(n个a)
#include<stdio.h>
int main()
{
double n,a,s=0.0,h=1.0,a1;
printf("请输入a,n:");
scanf("%d,%d",&a,&n);
a1=a;
while(h<=n)
{s=s+a;<br> a=a*10+a1;<br> h++;<br> }
printf("%f\n",s);return 0;
}
C语言double 型 只能在有小数点的数时候用吗?这一题如改成int 答案就是对的,为什么?1.0 不能算是小数么?
你在定义变量时用的是double而在scanf()中用的是%d导致类型不匹配,所以会出现编译错误,你可以将double改为int或者将%d改为%f这样就OK了!!希望对你有用!!!
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-09-26
原因在于scanf里面用了%d,与double类型不符,可以改成%f