重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
当前位置: 首页 > 计算机类考试 > 软考中级
网友您好, 请在下方输入框内输入要搜索的题目:
搜题

题目

[主观题]

阅读下列C程序和程序说明,将应填入(n)处的字句写在对应栏内。 【说明】设某城市有n个车站,并有m条公

阅读下列C程序和程序说明,将应填入(n)处的字句写在对应栏内。

【说明】设某城市有n个车站,并有m条公交线路连接这些车站,设这些公交车都是单向的,这n个车站被顺序编号为0至n-1。本程序,输入该城市的公交线路数、车站个数,以及各公交线路上的各站编号,求得从站0出发乘公交车至站n-1的最少换车次数。

程序利用输入信息构建一张有向图G(用邻接矩阵g表示),有向图的顶点是车站,若有某条公交线路经i站到达j站,就在顶点i到顶点j之间设置一条权为1的有向边<i,j>。如果这样,从站点x至站点y的最少上车次数便对应图G中从点x到点y的最短路径长度。而程序要求的换车次数就是上车次数减1。

include <stdio.h>

define M 20

define N 50

int a[N+1]; /*用于存放一条线路上的各站编号*/

int g[N][N]; /*严存储对应的邻接矩阵*/

int dist[N]; /*严存储站0到各站的最短路径*/

int m, n;

void buildG()

{ int i, j, k, sc, dd

printf(“输入公交线路数,公交站数\n”);

scanf("%d%d",&m,&n);

for (i=0;i<n;i++) /*邻接矩阵清0*/

for(j=0;j<n;j++)

g[i][j]=0;

for(i=0;i<m;i++)

{ printf("沿第%d条公交线路的各站编号(0<=编号<=%d,-1结束):\n)",i+1,n-1);

sc=0; /* 当前线路站计数器*/

while(1)

{ scanf("%d",&dd);

if(dd=-1)break;

if(dd>=0 && dd<n) (1);

}

a[sc]=-1;

for(k=1;a[k]>=0;k++) /*处理第i+1条公交线路*/

for(j=0;j<k;j++)

g (2)=1;

}

}

int minLen()

{ int j,k;

for(j=0;j<n;j++)

dist[j]=g[0][j];

dist[0]=1;

do{

for(k=-1,j=0;j<n;j++) /*找下一个最少上车次数的站*/

if(dist[j]>0 &&(k==-1||dist[j]<dist[k]))

k=j;

if(k<0||k==n-1)

break;

dist[k]=-dist[k]; /*设置k站已求得上车次数的标记*/

for (j=1;j<n;j++) /*调整经过k站能到达的其余各站的上车次数*/

if((3)&& (dist[j]=0||-dist[k]+1<dist[j]))

dist[j]=(4);

}while(1);

j=dist[n-1];

return (5);

}

void main()

{ int t;

buildG();

if((t=minLen())<0)

printf("无解!\n");

else

printf(“从0号站到%d站需换车%d次\n”,n-1,t);

}

查看参考答案
赏学吧APP
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)
订单号:
遇到问题请联系在线客服
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注赏学吧 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反赏学吧购买须知被冻结。您可在“赏学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注赏学吧 -
请用微信扫码测试
温馨提示
每个试题只能免费做一次,如需多次做题,请购买搜题卡
立即购买
稍后再说
赏学吧