你的a没有赋值啊,直接让x=a了,scanf读取的x的值被覆盖了啊,a没有初始化,x=a以后x的值也丢失了
你的x=a是不是应该改成 a = x
第二题:
#include <stdio.h>
int main()
{
double x,y,a;
int i,n;
scanf("%lf,%d",&x,&n);
y=0;
a =1;
for (i=1;i<=n;i++)
{
a*=x;
y = y+a;
}
printf("%lf",y);
return 0;
}
第三题:代码修改如下:
#include <stdio.h>
#include <math.h>
int main()
{
double x0,a,x1;
scanf("%lf",&a); //只需要输入a就可以了
x0 = a/2;
x1=(x0+a/x0)/2;
do
{
x0=x1;
x1=(x0+a/x0)/2;
} while (fabs(x0-x1)>1e-5);
printf("%lf",x1);
return 0;
}
你输入的时候有没有用逗号分隔参数?
#include<stdio.h>,要用尖括号括起来,你用的引号。