#include <stdio.h>
#include <math.h>
main()
{
float a,x1,x0;
printf("请输入一个数: ");
scanf("%d",&a);
if(a<0)
printf("输入错误!\n");
else
x0=a/2;
x1=(x0+a/x0)/2;
while(fabs(x0-x1)>1e-6)
{
x0=x1;
x1=(x0+a/x0)/2;
}
printf("%f\n",x1);
}
哪位高手帮忙看看为啥不出答案
你可以看看下面的代码(是在你的基础上改的)
#include <stdio.h>
#include <math.h>
int main()
{
double a;
double x1,x0;
printf("请输入一个数: ");
scanf("%lf",&a);
if(a<0)
printf("输入错误!\n");
else
{ x0=a/2.0;
x1=(x0+a/x0)/2.0;
while(fabs(x0-x1)>1e-6)
{
x0=x1;
x1=(x0+a/x0)/2.0;
}
printf("%f\n",x1);
}
return 0;
}
你应该是刚开始学习C吧!
你这个程序有以下几点要注意:
1、a你定义为浮点型,却用整型格式输入,会出问题。
2、if ..else语句的作用域没有注意。他们只对他们后面的一条语句起作用,如果有多条语句的话,要使用{}来将其转化为一条“语句”。
3、在进行代数除法时要注意 /和%这两个的定义与我们平时的除法的不同。
你好好加油吧!祝你学习进步啊!
你所定义的实形变量名“X0”和“X1”是不合法的吧!
C语言规定标识符只能由字母、数字和下划线组成,且第一个字符必须为字母或下划线,比如:sum,average,_total,Class,day,month,Student,_name
以上都是合法的,下面是不合法的变量名:
M.D,John,☆ 123,*33,3D64,A>B
像这些东西有时候为了自己方便很容易出错,注意就可以了
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!