重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。
创新互联公司是一家专业提供商洛企业网站建设,专注与网站建设、成都网站制作、html5、小程序制作等业务。10年已为商洛众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。
#includelt;stdio.hgt;
#includelt;math.hgt;
void main()
{
float x1,x2,y1,y2;
printf("请输入一组数据:");
while(~scanf("%f%f%f%f",x1,y1,x2,y2))//开始读取输入的数,知道文件结束。
{
printf("两点间的距离为:%.2f\n",sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)));
printf("请输入一组数据:");
}
}
扩展资料:
c语言基本运算
一:算术运算符
算术运算符非常地简单,就是小学数学里面的一些加减乘除操作。不过呢,还是有一些语法细节需要注意的。
一、加法运算符+
int a=10;
(此处空一行)
int b=a+5;
在第3行利用加法运算符+进行了加法运算,再将和赋值给了变量b,最终变量b的值是15
二、减法运算符或负值运算符-
int b=10-5;
(此处空一行)
int a=-10;
1、在第1行利用减法运算符-进行了减法运算,再将差赋值给了变量b,最终变量b的值是5
2、在第3行中,这个-并不是什么减法运算符,而算是一个负值运算符,-10代表的是负十
三、乘法运算符*
int b=10*5;
注意:乘法运算符并不是x或者X,而是星号*。变量b最终的值是50。
四、除法运算符/
double a=10.0/4;
double b=10/4;
(此处空一行)
printf("a=%f,b=%f\n",a,b);
注意:除法运算符并不是÷,而是一个正斜杠/
程序稍微有点儿小问题,帮您改一下(最后一个printf):
#include stdio.h
#include math.h
double square(double x)
{
return x * x;
}
double dist(double x1, double y1, double x2, double y2)
{
double a, b, dist;
a = x1 - x2;
b = y1 - y2;
dist = sqrt(square(a) + square(b));
return dist;
}
int main(void)
{
double x1, y1, x2, y2, distance;
printf("Please input x1: ");
scanf("%lf", x1);
printf("Please input y1: ");
scanf("%lf", y1);
printf("Please input x2: ");
scanf("%lf", x2);
printf("Please input y2: ");
scanf("%lf", y2);
distance = dist(x1, y1, x2, y2);
printf("distance = %lf\n", distance);
return 0;
}
返回0是C语言标准规定的,main函数必须为int类型,不允许为void。但是在老式的编译器中,void也能通过,不过不建议您这么写。返回0表示程序正常运行后结束,没有任何问题。0将被返回给操作系统,操作系统想知道他上面的程序都运行如何,方便在结束时释放一些脚本。更多问题请追问。
dist[i]: dist是数组名,代表了数组首元素的地址。dist[i]是第i个数组元素,数组元素从零开始计算。
楼主还好~
有几个要修改的地方哦
1. main函数输入参数请去掉void.
2. double和x1之间打个空格.(目测是粘贴过来没注意)
3. 最重要的,scanf函数为double型赋值的时候,使用%lf,%d的意思是后面配型的是一个整形变量,%f指的是浮点型变量,L或者l标示后面的是长型(可以是长整形和双精度)。double标示双精度,所以用%lf。
还有一点小小的要注意的地方。
scanf("%lf%lf",x1,y1);
其中"%lf%lf"在两个%之间没有任何标示,这时候输入变量的时候,可以用空格,Tab,回车作为分隔符,例如输入0和0,可以打0 空格 0,也可以打0 Tab 0,也可以打 0 回车 0。
但是更好的做法是自己键入一种分隔符:
scanf("%lf,%lf",x1,y1);
这样的话就必须以','作为两个输入的分隔符了。
请养成良好的编程喜欢哦~
请追问~
C语言里以0开头的数表示是八进制数,那么,八进制转换成二进制的方法是,一个八进制位占3个二进制位
如果用二进制表示那么
x=001011
y=010101
z=000001
~z=111110
的优先级高于^,,,^优先级高于|
yz=000001,.x|yz=001011,即十进制的11,所以第一个用%d输出的是11
y~z=010100,.x|y~z=011111,十进制的31
y~z=010111,x^y~z=011111,十进制的31