栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

读取城市坐标,计算任意两个城市之间的距离。

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

读取城市坐标,计算任意两个城市之间的距离。

要求:语言要求纯C语言, 知识点要求:读文件,结构体,动态分配内存,数组,指针,函数,循环,条件判断。



代码描述:

#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;//判断出城市个数; 
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");//打开一个文件 传入的参数为文件路径与名字,与文件操作方式; 
	fscanf(fp,"%d",&n);//通过函数fscanf进行存取 
	Point *p = (Point*)malloc(n*sizeof(Point));//申请内存;p也为数组的首地址,n就为数组的大小  
	printf("有%d个城市n",n); 
	myinprint(fp,p,n);
	myoutprint(p,n);
//	fclose(fp);//打开一个文件操作完后就得关闭这个文件 
//	free(p);//释放内存 
	return p;
}
void myinprint(FILE *p,Point *q,int n){//传入Point 数组 以及 文件大小 
	int i;
	for(i=0;iname,&q->place.x,&q->place.y);
}
void myoutprint(Point *q,int n){
	int i;
	for(i=0;iname,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 num[j+1]){
				temp = num[j+1];
				num[j+1] = num[j];
				num[j] = temp;
			}	
		}
	}
	for(i=0;i<10;i++){
		printf("num[%d]=%.3fn",i,num[i]);
	}
	printf("n**********************n");
	printf("num[%d]=%.3fn",9/2,num[9/2]);
	printf("num[%d]=%.3fn",9/2+1,num[9/2+1]);
	
}

结果描述:

要是要求模块功能简单,那就把我的代码注释几行即可;


第30行和第106行注释掉
效果显示如下

详解请关注牛牛,私聊给你过程解析!

但是为了让各位同学有优秀的编程能力,增强动手能力,此代码虽然是完整程序,还是请先独立思考,再拿此程序作为参考,相信你会有更好的解题过程,要是有不妥之处,各位请多多指正,多多包涵

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/510925.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号