a是double类型的,scanf输入得是%lf
#include<stdio.h>
#include<math.h>
int main()
{
double a,x0 = 1.0,x1 = 1.0,k;
int i;
scanf("%lf",&a);
for(i = 1;;i++){
x0 = x1;
x1 = 0.5 * (x0 + a / x0);
k = x1 - x0;
//printf("k = %lf,x1 = %lf\n",k,x1);
if(fabs(k) < 0.00001){
printf("%.3lf",x1);
break;
}
}
}
你把scanf,放到double前面,试试,我也是新手,也不是很确定😅😅