谁能帮我看看这段代码为什么错
1条回答 默认 最新
- 技术专家团-小桥流水 2021-11-17 23:04关注
变量名不要跟类型名重复,把变量名换一下。
今天好几个人是这个题目了,你参考下面的代码:#include <stdio.h> #include <math.h> #include <string.h> #include<stdlib.h> struct ZuoBiao{ int x; int y; }; typedef struct City{ char name[20]; struct ZuoBiao place; //结构体的嵌套 }Point; int n; void init(FILE *p,Point *q){//传入Point 数组 以及 文件大小 int i; for(i=0;i<n;i++,q++) fscanf(p,"%s%d%d",q->name,&q->place.x,&q->place.y); // MOD 这里q->name前不需要& } void display(Point *q){ 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 juli(Point city[],int i,int j){ int x1=0,x2=0; //MOD 这里需要初始化 int y1=0,y2=0; //MOD 这里需要初始化 double c; //c为两点间的距离 x1 = city[i].place.x; y1 = city[i].place.y; x2 = city[j].place.x; y2 = city[j].place.y; c = sqrt((double)((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2))); //sqrt函数是平方根函数; return c; } Point* file(){ FILE *fp = NULL;//读文件必须首先建立一个FILE 指针; fp = fopen("test01.txt","r");//打开一个文件 传入的参数为文件路径与名字,与文件操作方式; fscanf(fp,"%d",&n);//通过函数fscanf进行存取 Point *p = (Point*)malloc(n*sizeof(Point));//申请内存;p也为数组的首地址,n就为数组的大小 printf("%d\n",n); init(fp,p); display(p); return p; } void minJuLi(Point city[]){ int i,j; double MIN; // double MIN = juli(city,city[i].name,city[j].name,n); double c = 0; char M[10000],N[10000]; MIN = juli(city,0,1); strcpy(M,city[0].name); //字符串的拷贝 strcpy(N,city[1].name); for(i=0;i<n-1;i++){ for(j=i+1;j<n;j++){ c = juli(city,i,j); if(c<MIN){ MIN = c; strcpy(M,city[i].name); //字符串的拷贝 strcpy(N,city[j].name); } } } printf("\n"); printf("最近的两个坐标是:%s和%s的距离是:%.3f",M,N,MIN); } int main() { Point *point = file(); char a[1000],b[1000]; int i,ma=-1,mb=-1; printf("输入要计算距离的两个城市:(例如:A B)\n"); scanf("%s %s",&a,&b); printf("距离最近的两个城市信息如下:\n"); for(i=0;i<n;i++) { if(strcmp(point[i].name,a) == 0) { if (ma == -1) { ma = i; //只记录第一个点 } } if(strcmp(point[i].name,b) == 0) { if (mb == -1) { mb = i; //只记录第一个点 } } } if(ma != -1 && mb != -1) printf("%s和%s的距离是:%.3lf",a,b,juli(point,ma,mb)); minJuLi(point);//求短距离 return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 急matlab编程仿真二阶震荡系统
- ¥20 TEC-9的数据通路实验
- ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
- ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
- ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
- ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
- ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
- ¥15 python爬取bilibili校园招聘网站
- ¥30 求解达问题(有红包)
- ¥15 请解包一个pak文件