爱问知识人 爱问教育 医院库

C语言的赋值问题

首页

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

提交回答

全部答案

    2018-04-25 09:52:14
  •   如果定义为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;
    }

    星***

    2018-04-25 09:52:14

类似问题

换一换

相关推荐

正在加载...

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 171-190
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):