#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>typedef struct stu{int h;int z;char name[10];struct stu *next;}City,*Linklist;City *CreatFromHead(Linklist L){Linklist j,i;L=(Linklist)malloc(sizeof(City));L->next=NULL;j=L;while(1){i=(Linklist)malloc(sizeof(City));printf("请输入城市的横坐标、纵坐标和名称:");scanf("%d%d",&i->h,&i->z);scanf("%s",i->name);if(i->h==0)break;L->next=i;L=i;}L->next =NULL;return(j);}void PutList(Linklist j){//printf("123");while(1){//printf("123");j=j->next ;break;} printf("名称(横坐标,纵坐标)n"); while(j!=NULL){printf("%s( %d , %d)n",j->name,j->h,j->z);j=j->next;}}void GetList(Linklist f){int j=0;char s[10];printf("输入查询的城市名称:");scanf("%s",s);while(f!=NULL){if(strcmp(s,f->name )==0){ printf("城市%s的坐标为:",f->name ); printf("(%d,%d)n",f->h ,f->z );j=1;}f=f->next ;} if(j==0)printf("无此城市信息!n");}void Outlist(Linklist k){int i,j,n;double h;printf("给定坐标:");scanf("%d%d",&i,&j);printf("给定距离:");scanf("%d",&n);printf("在给定距离内的城市有:");while(k!=NULL){h=sqrt((k->h -i)*(k->h -i)+(k->z -j)*(k->z -j));if(n>=h)printf("%sn",k->name );k=k->next ;}}void main(){Linklist h;int d; printf("ttt****城市距离管理****n");printf("ttt1***输入城市信息****n");printf("ttt2***输出城市信息****n");printf("ttt3***查询城市信息****n");printf("ttt4***查询城市距离****n");printf("ttt0***退出城市管理****n");scanf("%d",&d);do{ switch(d){ case 1:h=CreatFromHead(h);break; case 2:PutList(h);break; case 3:GetList(h);break;case 4:Outlist(h);break; case 0:break;} printf("ttt****城市距离管理****n");printf("ttt1***输入城市信息****n");printf("ttt2***输出城市信息****n");printf("ttt3***查询城市信息****n");printf("ttt4***查询城市距离****n");printf("ttt0***推出城市管理****n");scanf("%d",&d);}while(d!=0);printf("谢谢使用");}
导读:目前正在解读《单链表——求两个城市的距离程序》的相关信息,《单链表——求两个城市的距离程序》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《单链表——求两个城市的距离程序》的详细说明。
简介:这里给大家分享了一个单链表——求两个城市的距离的程序。
提醒:《单链表——求两个城市的距离程序》最后刷新时间 2024-03-14 01:02:35,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《单链表——求两个城市的距离程序》该内容的真实性请自行鉴别。