SIM2022-精工书院2022级乐学机考模拟试卷
创始人
2024-03-22 18:05:40
0

出了这六道题还有十道题,但是这六道模拟题的难度明显更高,所以我就不更新那10道题了

【机考01】【三】角图形输出,20分

编写程序,从键盘输入 n ( 0 < n < 27 ),输出下面( n = 5 时 )所示的高度为 n 行的三角形图形(行尾没有空格)。

        AB B BC C C C CD D D D D D DE E E E E E E E E

输入:
三角形图形的行数 (不用校验)

输出:

相应的三角形图形(行尾没有空格)

#include 
int main()
{int n,i;char a='A',s[]="                                                                                          ";scanf("%d",&n);for(i=1;iprintf("%.*s",2*(n-i),s);for(int j=0;j<2*i-1-1;j++){printf("%c ",a+i-1);}printf("%c",a+i-1);printf("\n");}
}

我这里用了一个长空格串 ( s[] ) 和格式化输出控制空格长度,也可以改成for循环

【机考02】【天】数计算输出,20分

【机考02】【天】数计算: 输出2022年北京冬奥会倒计时天数

第24届冬季奥林匹克运动会(The XXIV Olympic Winter Games),即2022年北京冬季奥运会 ,将于2022年2月4日星期五开幕,2月20日星期日闭幕。北京冬季奥运会设7个大项,15个分项,109个小项。北京赛区承办所有的冰上项目;延庆赛区承办雪车、雪橇及高山滑雪项目;张家口赛区的崇礼区承办除雪车、雪橇及高山滑雪之外的所有雪上项目。

编写程序,从键盘输入日期(YYYY-MM-DD),输出该日期距离2022年北京冬奥会开幕日(2022年2月4日)的倒计时天数。

例如:输入 2021-10-27 , 输出: 100

输入:

日期 (不用校验)

输出:

倒计时天数
参考之前写过的日期计算输出差值即可,也可以吧2022-2-4的天数先预处理出来

#include int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};int day(int y,int m,int d)
{if(y%4==0&&y%100!=0||y%400==0) a[2]=29;else a[2]=28;y--;for(int i = 1;i < m;i++)d += a[i];d += y*365+y/4-y/100+y/400;return d;}int main()
{int y,m,d;scanf("%d-%d-%d",&y,&m,&d);printf("%d\n",day(2022,2,4)-day(y,m,d));
}

【机考03】 哥【俩】好( 新版 ), 20分

其实新版比原版简单
【机考03】哥【俩】好(新版): 一维数组元素两两相乘

编写程序,从键盘输入一维数组的元素个数(不超过21个)和数组中每个元素的内容,然后输出一维数组中元素两两相乘的结果。

输出要求:

① 元素两两相乘的顺序是第一个元素与最后一个元素相乘,第二个元素与倒数第二个元素相乘,... ... ;② 如果数组元素个数为奇数,则最中间的数自己与自己相乘,实现两两相乘;③ 输出结果的行首和行尾都没有空格。

输入:

第一行数据为数组中总的元素个数,第二行数据为数组各个元素的具体内容,例如:

71 2 3 4 5 6 7

输出:

一维数组元素两两相乘的结果(行首和行尾都没有空格),例如:

7 12 15 16
#include 
int main()
{int n;scanf("%d",&n);int a[n+1],i = 1,j=n;for(i = 1; i <= n; i ++) scanf("%d",&a[i]);for(i = 1; i <= j; i ++, j --)printf("%d%c", a[i]*a[j],i < j - 1 ? ' ' : '\n');
}

【机考04】【回】文字符串构建,20分

【机考04】【回】文字符串: 对任一字符串,构建一个回文字符串

“回文字符串”是一个正读和反读都一样的字符串,比如 “xyZyx” 或者 “12345cbAbc54321” 等就是回文字符串。

编写程序,从键盘输入一个【 字符串 s 】(其长度为 n , 0 < n < 22 ),构建一个回文字符串并输出。

本题回文字符串构建规则:

 ① 构建的回文字符串的长度为 :2 * n - 1 ;② 构建的回文字符串的最右边 n 个字符正好是 【 字符串 s 】 本身 ;

输入:

字符串,如 "12345ABC" 或 "Zyx"

输出:

构建的回文字符串,如 "CBA543212345ABC" 或 "xyZyx"

其实就是正常输出再倒序输出一遍
(我这里用绝对值单纯炫技没啥实际价值)

#include 
#define abs(x) x>0?x:-x
int main()
{char in[24],x;int n,i=0;while((x=getchar())!='\n') in[i++]=x;for(n=-i+1;n

【机考05】【超】市购物车结算,20分

【机考05】【超】市购物: 购物车应付账款结算
小明在某购物平台开了一家名为“21极品超市”的网店,只售卖21种商品,每种商品明码标价,不打折扣;
网店库房货量充足,从不缺货;承诺订单生成之后,三天之内发货。
顾客在“21极品超市”网站将选好的多种商品及数量加入购物车后,点击【结账】,即会生成采购清单。
编写程序,根据从键盘输入的某购物车的购物清单,进行该购物车的应付账款结算。
购物车购物清单的输入格式如下(如果选购了 n 种商品,则有 3 + n + 21 行数据):

⑴ 第一行,系统生成的订单号;
⑵ 第二行,选购商品的种类数 n ( 0 < n < 22 ) ;
⑶ 随后的 n 行 ,每行包括一种【已选购】商品的编号和相应数量;
⑷ 一行分隔符,"----------------" ,可用类似 {char s[100]; scanf("%s",&s[0]);} 跳过此行内容;
⑸ 再随后的 21 行,每行包括一种【在售商品】的编号和单价,编号从 0001 至 0021 ,已排序。

输入:购物车的购物清单。下面为选购【 3 种商品】时的购物清单输入示例:

XM10000135
3
0018,3
0001,25
0007,49
----------------
0001,  45.48
0002,   7.67
0003,  52.05
0004,  59.00
0005,  52.53
0006,  44.17
0007,  19.78
0008,  20.87
0009,  51.69
0010,  97.50
0011,  75.85
0012,  42.36
0013,  21.60
0014,  75.01
0015,  79.45
0016,  65.48
0017,  15.40
0018,  45.55
0019,  37.19
0020,  80.32
0021,   1.83

输出用 %12.2f 格式输出购物车应付账款金额,如:

2242.87

这题就有点意思了,因为只有21种商品,所以可以默认21种商品都买了0个,然后卖了的改一下个数就行,最后没卖的商品价格一定是0

#include int main()
{char rub[100];int num,n,w[22]={0},x;float p,sum;scanf("%*s");scanf("%d",&num);for(int i = 0;i < num;i++){scanf("%d,%d",&n,&x);w[n]=x;}scanf("%*s");for(int i = 1;i < 22;i++){scanf("%*d,%f",&p);sum += p*w[i];}printf("%12.2f\n",sum);
}

【机考06】 校【车】座位预订,20分

【机考06】 校【车】座位预约:输出可预约的最小座位号
某大学的校车连接南北两个校区,每天对开多趟,为广大师生跨区的教学、工作和生活等活动提供
强有力的交通保障。为确保每日校车有序高效运行,校后勤集团采用了校车座位预约系统进行座位预约,
采取“先约先得”的规则,用户可从尚没有预约的座位中随意挑选座位号。校车准乘 51 人(不含司机),
校车内部座位图如下所示,具体说明:
⑴ 可以预约的座位号:从 01 至 51 号, 共 51 个座位;
⑵ 最前面的第 00 排包含 驾驶室 和 一个超级座位: 第 51 号;
⑶ 第 01 排 至 第 10 排,每排 5 个座位,座位号见下图:

                校   车   头   部+-------------+--------------------+------+
|   驾 驶 室  |    非  座  位  区  |  51  | 第 00 排
+------+------+------+------+------+------+
|  01  |  11  |  21  |      |  31  |  41  | 第 01 排
+------+------+------+      +------+------+
|  02  |  12  |  22  |      |  32  |  42  | 第 02 排
+------+------+------+      +------+------+
|  03  |  13  |  23  |  过  |  33  |  43  | 第 03 排
+------+------+------+      +------+------+
|  04  |  14  |  24  |      |  34  |  44  | 第 04 排
+------+------+------+      +------+------+
|  05  |  15  |  25  |      |  35  |  45  | 第 05 排
+------+------+------+      +------+------+
|  06  |  16  |  26  |      |  36  |  46  | 第 06 排
+------+------+------+      +------+------+
|  07  |  17  |  27  |  道  |  37  |  47  | 第 07 排
+------+------+------+      +------+------+
|  08  |  18  |  28  |      |  38  |  48  | 第 08 排
+------+------+------+      +------+------+
|  09  |  19  |  29  |      |  39  |  49  | 第 09 排
+------+------+------+      +------+------+
|  10  |  20  |  30  |      |  40  |  50  | 第 10 排
+------+------+------+------+-----+-------+校   车   尾   部

小明常乘坐校车往返两个校区,虽然很少能预约到 01 号座位,但他是有个性的青年,每次预约座位时,
都是从可预约的座位池中,选择最小的座位号。
编写程序,根据当前校车的座位预约图谱数据,为小明选择座位号。
座位号输出格式为 %02d ;如果已经满座,则输出"**"。

校车的当前座位预约图谱数据(共 12 行)见示例,格式说明如下:⑴ 第一行,为当天校车运行的车次号( 001 至 999 );⑵ 随后的 11 行,每行 5 列,为第 00 排 至 第 10 排的座位预约情况;⑶ 上述 ⑵所述的 11 行 5 列数据中各字符的含义:'H' - 司机座位,驾驶重地,双倍空间'/' - 非座位区,严禁超载,不卖站票'*' - 当前座位已经被预约,不可预约'+' - 当前座位可以预约
例如:第 00 排的数据为 "HH//*"时,表示第51号座位已经被预约,不能预约;第 00 排的数据为 "HH//+"时,表示第51号座位可以预约;第 06 排的数据为 "**++*"时,表示第06,16,46号座位已经被预约,第26,36号座位可以预约;第 10 排的数据为 "*****"时,表示第10,20,30,40,50号座位已经全部被预约。

输入校车的最新座位预约图谱,第1行(车次号)+ 11行5列(第00排,01排,…,第10排)座位预约数据,示例:

032
HH//*
**+++
*****
***+*
*****
*****
**+*+
*****
*****
*****
*****

输出可预约的最小座位号( %02d ),如果当前校车已经满座,则输出"**",示例:

21

只要先按行存图,再按列遍历即可(别忘了51特殊处理)

#include   
int main(){  char sit[10][5],y;  scanf("%*s\nHH//%c\n",&y);int i,j;for(i = 0;i < 10;i ++) gets(sit[i]);for(j = 0;j < 5;j ++) for(i = 0;i < 10;i ++) if(sit[i][j]=='+') { printf("%02d\n",j*10+i+1); return 0; }if(y=='+') printf("51\n");else printf("**\n");
}

相关内容

热门资讯

实干笃行多措并举奋力夺取“开门... 转自:沈阳日报  铆足干劲开新局,奋楫争先创佳绩。今年一季度,市自然资源局紧扣服务经济社会高质量发展...
澳洲公会:内地小微企业2024... 本报记者 杜丽娟 北京报道小微企业作为国民经济的组成部分,在促进就业、驱动经济增长、推动科技创新及维...
今年开展职业技能培训和岗位练兵... 转自:辽宁日报 本报讯 记者徐铁英报道 “技能照亮前程·匠才助推振兴”2025年度专项培训行动目前正...
用中国创新赋能全球市场 转自:中国经营网张硕在前不久刚闭幕的2025上海车展期间,“中国汽车技术创新赋能全球发展”成为热议话...
新青两地艺术家青海湖畔联袂献艺 5月9日,新疆民间艺术季优秀节目巡演青海站活动走进青海湖二郎剑景区。 本报讯(西海新闻记者 吴梦婷 ...
“民法典宣传月·送法进企业宣传... 转自:辽宁日报 本报讯 记者黄岩报道 今年5月是第五个“民法典宣传月”,连日来,全省各地各部门积极投...
行走百个社区 叩开万户家门 转自:沈阳日报  “以前咨询涉及残疾人的法律法规时无从下手,现在法律服务直接‘送上门’!”坐在轮椅上...
美国财长贝森特:避免债务触及上...   美国财政部长贝森特致信国会议员,称财政部动用特别会计手段以避免突破联邦债务上限的能力,最早可能在...
“人设”:视觉时代创作新手法 转自:光明网  【面面观·“人设”与新媒介文艺创作】  作者:李皓颖(北京大学中文系博士研究生)  ...
HAI乐园超级运动公园项目正式... 转自:沈阳日报  本报讯(沈阳日报、沈报全媒体记者张晶)5月9日,以运动为主题特色,搭配餐饮休闲、二...
中国品牌汽车亮相2025马来西... 这是5月8日在马来西亚雪兰莪州沙登拍摄的2025马来西亚车展媒体预览会现场。 2025年马来西...
引秋生手里 藏月入怀中——评《... 转自:光明网  作者:袁 坤(浙江省博物馆馆员)  《缮扇——传统纸扇装裱修复及保护》一书,近来由岭...
国办印发《关于进一步加强 困境... 新华社北京5月9日电  日前,国务院办公厅印发《关于进一步加强困境儿童福利保障工作的意见》(以下简称...
西宁市城中区 开展杨柳絮清理行... 本报讯(西海新闻记者 燕卓)每年5月,杨柳絮随风漫天飞舞,给市民的生活带来烦恼。为最大限度减少飘絮问...
说说泰山封禅大典那些事儿   “五一”期间,由泰安文旅集团打造的《中华泰山·封禅大典》2025升级改造版迎来首演。作为泰山封禅...
为中俄关系发展注入新的动能   新华社北京5月9日电 应俄罗斯联邦总统普京邀请,国家主席习近平于5月7日至10日对俄罗斯进行国事...
成功研制牦牛心肝肺营养肽产品 本报海北讯 (记者 王晶) 5月8日,记者从海北藏族自治州刚察县委宣传部获悉,刚察县与相关单位合作,...
我省重点交通项目捷报频传 积石峡黄河特大桥主拱肋合龙。 同赛项目西卜沙隆务河特大桥施工现场。 西宁曹家堡机场东进场路施工...
国际巨头,确认大裁员! 5月9日,松下集团宣布,计划于2025年度至2026年度在全球范围内裁员1万人,其及5000名日本员...
深入贯彻中央八项规定精神学习教... 本报讯(记者 莫昌伟)按照中央党的建设工作领导小组统一部署,5月9日,深入贯彻中央八项规定精神学习教...