用C語言計算兩點之間距離的參考代碼:
創(chuàng)新互聯(lián)建站長期為1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為巴彥淖爾企業(yè)提供專業(yè)的做網(wǎng)站、網(wǎng)站制作,巴彥淖爾網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
#include stdio.h
#include stdlib.h
#include "math.h"
typedef struct point {
double x;
double y;
}point;
point array[30001];
double distance(point a,point b);
int main(int argc, char *argv[])
{
while(1){
int n,i,j,count;
double maxdis,temp;
scanf("%d",n);
for(i = 0;in;i++){
? scanf("%f %f",array[i].x,array[i].y);? ?
}
for(i = 0;in;i++){
? //printf("%d %d\n",array[i].x,array[i].y);
? //printf("dis:%.2f\n",distance(array[0],array[i]));
}
maxdis = 0.0;
for(i = 0;in;i++){
? for(j = i;jn;j++){
? ? ? if(distance((array[i]),(array[j])) maxdis ){
? ? ? ? ? //printf("maxdis = :%.2f\n",distance((array[i]),(array[j])));
? ? ? ? ? maxdis =distance((array[i]),(array[j]));
? ? ? }
? }
}
printf("%.2f",maxdis);
}
system("pause");
return 0;
}
//計算x y之間距離
double distance(point a,point b){
return sqrt(? ? (a.x - b.x)*(a.x - b.x)? +? ?(a.y -b.y)*(a.y -b.y)? );
}
擴(kuò)展資料:
C語言編寫注意事項:
1、所有自定義變量?必須聲明才能使用。
2、每行只書寫一條語句, 在運(yùn)算符兩邊加上一個空格, 便于閱讀。
3、整數(shù)除法將自動舍位, 不會進(jìn)行四舍五入的操作。
4、for(初始化部分;條件部分;增長部分) - 比while 更適用于初始化和增長步長都是單條語句情況下。
5、使用?#define 名字 替換文本 對部分"幻數(shù)" 賦予意義便于閱讀 #define結(jié)尾不需要“;”號結(jié)束。
#include math.h
#include stdio.h
void main()
{
float x1, y1, x2, y2;
float d;
printf("請輸入x1,y1,x2,y2,用空格隔開:\n");
scanf("%f %f %f %f", x1, y1, x2, y2);
d = sqrtf((x2 - x1) * (x2 - x1) +(y2 - y1) * (y2 - y1));
printf("兩點間的距離為%.2f", d);
}
擴(kuò)展資料:
c語言的基本運(yùn)算的注意事項
一、運(yùn)算順序
1、算術(shù)表達(dá)式
用算術(shù)運(yùn)算符將數(shù)據(jù)連接起來的式子,稱為“算術(shù)表達(dá)式”。比如a + b、10 * 5等。如果表達(dá)式比較復(fù)雜的話,那么就要注意一下它的運(yùn)算順序。表達(dá)式的運(yùn)算順序是按照運(yùn)算符的結(jié)合方向和優(yōu)先級進(jìn)行的。
2、結(jié)合方向
算術(shù)運(yùn)算符的結(jié)合方向是從左到右。例如表達(dá)式2+3+4,先計算2+3。
3、 優(yōu)先級
優(yōu)先級越高,就越先進(jìn)行運(yùn)算,當(dāng)優(yōu)先級相同時,參照結(jié)合方向。下面是算術(shù)運(yùn)算符的優(yōu)先級排序:
負(fù)值運(yùn)算符(-)??乘(*)、除(/)、模(%)運(yùn)算符??加(+)、減(-)運(yùn)算符
例如表達(dá)式4+5*8/-2的計算順序為:-、*、/、+,最后的結(jié)果是-16
4、小括號
如果需要先計算優(yōu)先級低的可以使用小括號()括住,小括號的優(yōu)先級是最高的!
例如4+5*8-2默認(rèn)的計算順序是:*、+、-
如果想先執(zhí)行加法運(yùn)算,就可以這樣寫:(4+5)*8-2,最后的結(jié)果都是不一樣的。
二、關(guān)系運(yùn)算符的使用注意
1、關(guān)系運(yùn)算符中==、!=的優(yōu)先級相等,、=、、=的優(yōu)先級相等,且前者的優(yōu)先級低于后者
例如2==31 :先算31,條件成立,結(jié)果為1。再計算2==1,條件不成立,結(jié)果為0。因此2==31的結(jié)果為0。
2、關(guān)系運(yùn)算符的結(jié)合方向為“從左往右”
例如432 :先算43,條件成立,結(jié)果為1。再與2比較,即12,條件不成立,結(jié)果為0。因此432的結(jié)果為0。
3、關(guān)系運(yùn)算符的優(yōu)先級小于算術(shù)運(yùn)算符
例如3+48-2 :先計算3+4,結(jié)果為7。再計算8-2,結(jié)果為6。最后計算76,條件成立,結(jié)果為1。因此3+48-2的結(jié)果為1。
輸入兩點坐標(biāo)(X1,Y1),(X2,Y2),計算并輸出兩點間的距離。
輸入數(shù)據(jù)有多組,每組占一行,由4個實數(shù)組成,分別表示x1,y1,x2,y2,數(shù)據(jù)之間用空格隔開。
#includelt;stdio.hgt;
#includelt;math.hgt;
void main()
{
float x1,x2,y1,y2;
printf("請輸入一組數(shù)據(jù):");
while(~scanf("%f%f%f%f",x1,y1,x2,y2))//開始讀取輸入的數(shù),知道文件結(jié)束。
{
printf("兩點間的距離為:%.2f\n",sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)));
printf("請輸入一組數(shù)據(jù):");
}
}
擴(kuò)展資料:
c語言基本運(yùn)算
一:算術(shù)運(yùn)算符
算術(shù)運(yùn)算符非常地簡單,就是小學(xué)數(shù)學(xué)里面的一些加減乘除操作。不過呢,還是有一些語法細(xì)節(jié)需要注意的。
一、加法運(yùn)算符+
int a=10;
(此處空一行)
int b=a+5;
在第3行利用加法運(yùn)算符+進(jìn)行了加法運(yùn)算,再將和賦值給了變量b,最終變量b的值是15
二、減法運(yùn)算符或負(fù)值運(yùn)算符-
int b=10-5;
(此處空一行)
int a=-10;
1、在第1行利用減法運(yùn)算符-進(jìn)行了減法運(yùn)算,再將差賦值給了變量b,最終變量b的值是5
2、在第3行中,這個-并不是什么減法運(yùn)算符,而算是一個負(fù)值運(yùn)算符,-10代表的是負(fù)十
三、乘法運(yùn)算符*
int b=10*5;
注意:乘法運(yùn)算符并不是x或者X,而是星號*。變量b最終的值是50。
四、除法運(yùn)算符/
double a=10.0/4;
double b=10/4;
(此處空一行)
printf("a=%f,b=%f\n",a,b);
注意:除法運(yùn)算符并不是÷,而是一個正斜杠/