成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

讀取城市坐標,計算任意兩個城市之間的距離。

kgbook / 3337人閱讀

摘要:要求語言要求純語言,知識點要求讀文件,結(jié)構(gòu)體,動態(tài)分配內(nèi)存,數(shù)組,指針,函數(shù),循環(huán),條件判斷。

要求:語言要求純C語言, 知識點要求:讀文件,結(jié)構(gòu)體,動態(tài)分配內(nèi)存,數(shù)組,指針,函數(shù),循環(huán),條件判斷。



代碼描述:

#include #include  #include #include  struct Coordinator{	int x;	int y;};typedef struct City{    char name[5];	struct Coordinator place;}Point;void myinprint(FILE *p,Point *q,int n);void myoutprint(Point *q,int n);Point* readfile();double distance(Point *city,char a[],char b[],int n);void closest(Point city[]);double luJin(Point city[],char array[],int n);void disAll(Point city[]);int n;//判斷出城市個數(shù); int main() {	Point *point = readfile();	char array[6] = "ABCD";	char a[5],b[5];	printf("/n求距離 請輸入一對頂點如(A B):");	scanf("%s %s",a,b);	printf("%s和%s的距離是:%.3lf",a,b,distance(point,a,b,n));	closest(point);//求短距離 	luJin(point,array,n);	disAll(point);	return 0;}Point* readfile(){	FILE *fp = NULL;//讀文件必須首先建立一個FILE 指針; 	fp = fopen("test1.txt","r");//打開一個文件 傳入的參數(shù)為文件路徑與名字,與文件操作方式; 	fscanf(fp,"%d",&n);//通過函數(shù)fscanf進行存取 	Point *p = (Point*)malloc(n*sizeof(Point));//申請內(nèi)存;p也為數(shù)組的首地址,n就為數(shù)組的大小  	printf("有%d個城市/n",n); 	myinprint(fp,p,n);	myoutprint(p,n);//	fclose(fp);//打開一個文件操作完后就得關(guān)閉這個文件 //	free(p);//釋放內(nèi)存 	return p;}void myinprint(FILE *p,Point *q,int n){//傳入Point 數(shù)組 以及 文件大小 	int i;	for(i=0;i<n;i++,q++)		fscanf(p,"%s%d%d",q->name,&q->place.x,&q->place.y);}void myoutprint(Point *q,int n){	int i;	for(i=0;i<n;i++,q++)		printf("%s/t%d/t%d/n",q->name,q->place.x,q->place.y);}double distance(Point city[],char a[],char b[],int n){	int i;	int x,x1;	int y,y1;	double c;	for(i=0;i<n;i++){		if(strcmp(city[i].name,a) == 0){			x = city[i].place.x;			y = city[i].place.y;		}		if(strcmp(city[i].name,b) == 0){			x1 = city[i].place.x;			y1 = city[i].place.y;		}	}	c = sqrt((double)((x-x1)*(x-x1) + (y-y1)*(y-y1)));	return c;}void closest(Point city[]){	int i=0,j=0;	double min = distance(city,city[0].name,city[1].name,n); 	double c = 0;	char M[5],N[5];	for(i=0;i<n;i++){		for(j=i+1;j<n;j++){			c = distance(city,city[i].name,city[j].name,n);			if(c<min){				min = c;				strcpy(M,city[i].name);				strcpy(N,city[j].name);			}		}	}	printf("/n最近的兩個坐標是:%s和%s的距離是:%.3f",M,N,min);}double luJin(Point city[],char array[],int n){	int i,j;	char a[5] ;	char b[5] ;	double K=0;	static double sum[6];	for(i=0;i<4;i++){		a[0] = array[i];		a[1] = "/0";		b[0] = array[i+1];		b[1] = "/0";			sum[i] = distance(city,a,b,n);		K += sum[i];//		printf("%.3f/n",sum[i]);//		printf("總里程%.3f/n",K);	}	printf("總里程%.3f/n",K);} void disAll(Point city[]){	int i,j,k=0;	static double num[10],temp;	for(i=0;i<n;i++){		for(j=i+1;j<n;j++){			num[k] = distance(city,city[i].name,city[j].name,n);			printf("num[%d]=%.3f/n",k,num[k]);			k++;		}		}	printf("/n**********************/n");	for(i=0;i<10;i++){		for(j=0;j<10-i-1;j++){			if(num[j] > num[j+1]){				temp = num[j+1];				num[j+1] = num[j];				num[j] = temp;			}			}	}	for(i=0;i<10;i++){		printf("num[%d]=%.3f/n",i,num[i]);	}	printf("/n**********************/n");	printf("num[%d]=%.3f/n",9/2,num[9/2]);	printf("num[%d]=%.3f/n",9/2+1,num[9/2+1]);	}

結(jié)果描述:

要是要求模塊功能簡單,那就把我的代碼注釋幾行即可;


第30行和第106行注釋掉
效果顯示如下

詳解請關(guān)注牛牛,私聊給你過程解析!

但是為了讓各位同學有優(yōu)秀的編程能力,增強動手能力,此代碼雖然是完整程序,還是請先獨立思考,再拿此程序作為參考,相信你會有更好的解題過程,要是有不妥之處,各位請多多指正,多多包涵

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/123499.html

相關(guān)文章

  • 完成一個城市選擇組件(阿里前端題目,內(nèi)附知識點、思路)

    摘要:知識點部分簡單的說一下我這個城市選擇組件和其中的一下知識點后臺我用起了一個后臺服務,使用的框架,完成滿足了我的需求。還有倆個基礎組件,分別是滾動組件和城市組件。子組件模板必須包含至少一個插口,否則父組件的內(nèi)容將會被丟棄。   借用了兩個已經(jīng)久經(jīng)考驗的輪子:fastClick和better-scroll,介意可以就此打住。本文絕對原創(chuàng),手打,思路清晰,知識不難,不適合大佬觀看,謝謝。  ...

    LiangJ 評論0 收藏0
  • 完成一個城市選擇組件(阿里前端題目,內(nèi)附知識點、思路)

    摘要:知識點部分簡單的說一下我這個城市選擇組件和其中的一下知識點后臺我用起了一個后臺服務,使用的框架,完成滿足了我的需求。還有倆個基礎組件,分別是滾動組件和城市組件。子組件模板必須包含至少一個插口,否則父組件的內(nèi)容將會被丟棄。   借用了兩個已經(jīng)久經(jīng)考驗的輪子:fastClick和better-scroll,介意可以就此打住。本文絕對原創(chuàng),手打,思路清晰,知識不難,不適合大佬觀看,謝謝。  ...

    since1986 評論0 收藏0
  • 完成一個城市選擇組件(阿里前端題目,內(nèi)附知識點、思路)

    摘要:知識點部分簡單的說一下我這個城市選擇組件和其中的一下知識點后臺我用起了一個后臺服務,使用的框架,完成滿足了我的需求。還有倆個基礎組件,分別是滾動組件和城市組件。子組件模板必須包含至少一個插口,否則父組件的內(nèi)容將會被丟棄。   借用了兩個已經(jīng)久經(jīng)考驗的輪子:fastClick和better-scroll,介意可以就此打住。本文絕對原創(chuàng),手打,思路清晰,知識不難,不適合大佬觀看,謝謝。  ...

    gggggggbong 評論0 收藏0
  • 使用JavaScript實現(xiàn)機器學習和神經(jīng)學網(wǎng)絡

    摘要:我會使用一個先進的神經(jīng)網(wǎng)絡和機器學習框架這個框架,并向你們展示如何用這個框架來實現(xiàn)光學字符辨識,模擬退火法,遺傳算法和神經(jīng)網(wǎng)絡。歐氏距離我們從歐氏距離開始談起,歐氏距離是一個非常簡單的概念,適用于不同的機器學習技術(shù)。 歡迎大家前往云+社區(qū),獲取更多騰訊海量技術(shù)實踐干貨哦~ 下載 heaton-javascript-ml.zip - 45.1 KB 基本介紹 在本文中,你會對如何使用Ja...

    tunny 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<