下载APP
【简答题】
试题四[2010上半年] 阅读以下说明和 C程序,将填入 (n) 处的字句在对应栏内。 [ 说明 ] 某旅游服务应用程序运行时, 根据输入的两个城市名查找其问的距离。 各城市问的距离如表 4-1 所示。 表格中的第一行和第一列表示城市名, 表中的每个元素是一个整数, 代表该元素所在行和列对应的城市之间的距离 ( 单位: km)。 城市 Bei jing Cheng du Chong qing Da lian Gui yang Lan zhou Nan jing Sanva Beijing 1697 2695 937 1784 1356 926 2543 Chengdu 1697 313 1840 533 940 1409 1505 Chongqing 2695 313 1734 343 1117 1206 1306 Dalian 937 1840 1734 1995 1594 818 2602 Guiyang 1784 533 343 1995 lll3 1346 976 Lanzhou 1356 940 1117 1594 lll3 1654 2075 Nanjing 926 1409 1206 818 1346 1654 1806 Sanya 2543 1505 1306 2602 976 2075 1806 在程序中, 城市名用一维全局数组 cityTable 存储, 城市之间的距离矩阵用二维全局 数组 kmTable 表示,并用相应的值对这两个数组进行初始化。 #define NCities 8 /* 城市个数 */ #define TRUE 1 static char * cityTable[NCities]={ /* 城市名按字典序升序排列 */ "Beijing", ...... /* 其他城市名略去 */ "Sanya" , }; StatiC int kmTable[NCities][NCities]={ {0, 1697, 2695, 937, 1784, 1356, 926, 2543}, {1697, 0, 313, 1840, 533, 940, 1409,1505}, ...... /* 剩余元素的初始值略去 */ }; 程序执行时, 首先按提示输入两个城市名, 然后在 cityTable 中查找与城市名对应的下标,最后用该下标在 kmTable 中找到这两个城市之间的距离。 程序中定义的函数 FindCitylnSortedArray 和 GetCity 说明如下: 1 函数 FindCitylnSortedArray 的功能是用二分查找法在全局数组 cityTable 中查找城市名所对应的下标值。 2 函数 GetCity 的功能是读入城市名,调用函数 FindCityInSortedArray 来获取城市所对应的下标值。如果该城市名不存在,则提示用户重新输入。 [C 程序 ] int main(){ int city1 ,city2; city1=GetCity(" 输入第 1 个城市名: "); city2=GetCity(" 输入第 2 个城市名: "); printf("%S 和%s之间的距离为: %d\n”, cityTable[city1] ,cityTable[city2] ,kmTable[cityl][city2]); return 0; } StatiC int GetCity(char * prompt) { char * CityName; int index; cityName=(char *)malloc(20*sizeof(char)); while(TRUE){ printf("%S",prompt); gets(cityName); /* 获取输入字符串 */ index=FindCityInSortedArray(cityName); if( 1 )break; printf(" 城市名不存在,请重新输入。 \n"); } free(cityName); return 2 ; } Static int FindCityInSortedArray(char * key) { int lh, rh, mid, cmp; lh=0; rh=NCities-1; while( 3 ){ mid=(1h+rh)/2; cmp=strcmp( 4 ); /* 比较两个城市名是否相同 */ if(cmp==0)return 5 ; /* 两个城市名相同 */ if(cmp <0){rh=mid-1;) else {lh=mid+1;) } return (-1); /* 城市名不存在时返回 -1 */ }
举报
题目标签:
字符串
距离矩阵
应用程序
参考答案:
参考解析:
刷刷题刷刷变学霸
举一反三
【简答题】以下程序的功能是:从键盘上输入一个字符串,把该字符串中的小写字母转换为大写字母,输出到文件 test.txt 中,然后从该文件读出字符串并显示出来,请填空。 #include #include main() {FILE *fp; char str[100]; int i=0; if((fp=fopen("test.txt", __________ ))==NULL) { printf("can...
查看完整题目与答案
【简答题】字符串比较指令基本功能是什么?
查看完整题目与答案
【单选题】向有限的空间输入超长的字符串的攻击手段是()
A.
缓冲区溢出
B.
网络监听
C.
拒绝服务
D.
IP欺骗
查看完整题目与答案
【单选题】Java 应用程序主类中的 main 方法是?
A.
public void main(String args [])
B.
static void main(String args [])
C.
public static void Main(String args [])
D.
public static void main(String args [])
查看完整题目与答案
【单选题】Web应用程序的发布不包括()
A.
HTTP
B.
Web部署
C.
Web Deploy包
D.
文件系统
查看完整题目与答案
【简答题】动作脚本中的数据类型包括 字符串,数字,布尔值,对象,影片剪辑,Null, 。
查看完整题目与答案
【单选题】”Hello world!”这个字符串的尺寸为:
A.
12
B.
6
C.
13
D.
14
查看完整题目与答案
【简答题】简述字符串与一维字符型数组的区别与联系。
查看完整题目与答案
【简答题】矩阵图的应用程序是什么?
查看完整题目与答案
【判断题】Hash函数可将任意长度的明文映射到固定长度的字符串。()
A.
正确
B.
错误
查看完整题目与答案