专注在线职业教育23年
下载APP
小程序
希赛网小程序
导航

预约成功后,不错过重要时期

点击预约

2019上半年程序员应用技术题三

责编:胡媛 2020-09-15

程序员应用技术在下午考试,希赛小编为大家整理了2019上半年程序员应用技术题三,供考生备考练习。

阅读以下说明和C代码,填写程序中的空缺,将解答写入答题纸的对应栏内。

【说明】

某市根据每天早上5点测得的雾霾指数(pm2.5值)决定是否对车辆进行限行。规则如下:

(1)限行时间为周内.(即周一到周五),周六周日不限行;

(2)根据车牌号的尾号(最后1位数字)设置限行车辆(车牌号由英文字母和十进 制数字构成,长度为6位,至少包含1位数字);

(3)雾霾指数低于200时,不限行;

(4)雾霾指数在区间[200, 400)时,周内每天限行两个尾号的汽车:周一限行1和6, 周二限行2和7,周三限行3和8,周四限行4和9,周五限行5和0,即尾号除以5的 余数相同者在同一天限行;

(5)雾霾指数大于等于400时,周内每天限行五个尾号的汽车:周一、周三和周五限行1,3,5,7,9,周二和周四限行0,2,4,6,8,即尾号除以2的余数相同者在同一天限行;

下面程序运行时,输入雾霾指数、星期(数字1表示星期一,数字2表示星期二,..., 数字7表示星期日)和车牌号,输出该车牌号是否限行的信息。

问题内容:

【C代码】

#include <stdio.h>

#define PM25_L1 200

#defme PM25_L2 400

typedef enum {YES,NO} MARKTAG;

int isDigit(char ch)

{//判断ch是否为十进制数字字符,是则返回1,否则返回0

return (ch>='0' && ch<='9');

}

void prt_msg(char *msg, MARKTAG flag)

{

if (flag == YES)

printf("%s : traffic restrictions\n", msg);

else

printf("%s : free\n", msg);

}

int isMatched(int weekday, int t, int d) //判断是否符合限行规则,是则返回1,否则返回0

{ return (weekday%d == t%d); }

void proc(int pm25, int weekday, char *licence)

{

int i,lastd;

if (weekday == 6 || weekday == 7 ||      (1)     )

prt_msg(licence, NO);

else {

for( i=5; i>=0; i-- )

if (isDigit(licence[i])) {

lastd=      (2)      ; //获取车牌号的尾号

break;

}

if(pm25>= PM25_L2 ) { //限行5个尾号的汽车

if (isMatched(     (3)     ))

prt_msg(licence, YES);

else

prt_msg(licence, NO);

}

else { //限行2个尾号的汽车

if (isMatched(      (4)     ))

prt_msg(licence, YES);

else

prt_msg(licence, NO);

}

}

}

int main()

{

int weekday=0, pm25=0;

char licence[7];

scanf("%d %d %s’’,&pm25, &weekday, licence);

//输入数据的有效性检测略,下面假设输入数据有效、正确

proc(     (5)      );

return 0;

}

试题练习:历年真题每日一练  |  在线试题库

备考资料:视频课程学习资料  |  免费课程

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
相关阅读
查看更多

加群交流

公众号

客服咨询

考试资料

每日一练