C语言的赋值问题
/*用迭代法求a的平方根*/
#include
#include
int main()
{
float x1,x2,a;
printf("用迭代法求平方根 请输入需要求平方根的数a:a= ");
scanf("%f",&a);
for(x1=1,x2=(x1 a/x1)/2;fabs(x2-x1)>=1e-5;)
{
x1=x2;
x2=(x1 a/x1)/2;
}
printf(" %.2f 的平方根为:%f",a,x2);
return 0;
}
程序开头部分,如果将float 改为double,为什么所输入的值都变成了0
如果定义为double的话,scanf及printf中的%f要改为%lf
改好的
/*用迭代法求a的平方根*/
#include
#include
int main()
{
double x1,x2,a;
printf("用迭代法求平方根 请输入需要求平方根的数a:a= ");
scanf("%lf",&a);
for(x1=1,x2=(x1 a/x1)/2;fabs(x2-x1)>=1e-5;)
{
x1=x2;
x2=(x1 a/x1)/2;
}
printf(" %。
2lf 的平方根为:%lf",a,x2);
return 0;
}
。
答:清华大学出版的c语言教程详情>>
答:到这里下载Visual C++ 的库组件(上方有个“下载”按钮)。 安装后再试。 另,机器的用户名是中文也不行。在控制面板里改中文名为英文名。详情>>