江苏省对口单招C语言技能考试汇总排版.docx
- 文档编号:5731906
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:127
- 大小:52.46KB
江苏省对口单招C语言技能考试汇总排版.docx
《江苏省对口单招C语言技能考试汇总排版.docx》由会员分享,可在线阅读,更多相关《江苏省对口单招C语言技能考试汇总排版.docx(127页珍藏版)》请在冰豆网上搜索。
江苏省对口单招C语言技能考试汇总排版
2017-2019年技能考试C语言题目汇总
2017年
━━━━━━━━━━━━━━━━
一、程序填空共1题(共计20分)
━━━━━━━━━━━━━━━━
【程序填空】
题目:
main函数找出二维数组m[N][N]中每行的奇数(每行仅有一个奇数),并调用
move函数将该奇数移动到该行主对角线位置。
函数voidmove(intm[],intfrom,intto)的功能是将一维数组m的from列元素移动
到to列。
程序显示结果为:
移动前:
145106
3724122
1061928
4171824
移动后:
510614
2372412
1061928
1824417
#include
#defineN4
voidmove(intm[],intfrom,intto)
{
inti,t;
/**************************SPACE*************************/
for(;from【?
】to;)
{
t=m[0];
for(i=1;i m[i-1]=m[i]; m[N-1]=t; /**************************SPACE*************************/ from=【? 】; if(from<0)from=N-1; } } voidprint(intm[][N]) { inti,j; for(i=0;i { for(j=0;j printf("%4d",m[i][j]); printf("\n"); } } intmain() { intm[N][N]={{14,5,10,6},{37,24,12,2},{10,6,19,28},{4,17,18,24}}; introw,col; printf("移动前: \n"); print(m); for(row=0;row for(col=0;col if(m[row][col]%2&&row! =col) { move(m[row],col,row); break; } printf("\n移动后: \n"); print(m); return0; } 答案: =======(答案1)======= ! = =======(答案2)======= from-1 ━━━━━━━━━━━━━━━━ 二、程序改错共1题(共计30分) ━━━━━━━━━━━━━━━━ 第1题(30.0分)题号: 143难度: 中第1章 题目: main函数的dot数组中保存了某地8月份的日最高气温(单位: 度)。 函数 doublecalc(intt[],intc[])找出数组t中第一次和最后一次出现35度 及以上气温的日期、最高气温、最低气温,并将这些数据保存在数组c中。 函数返回日平均气温。 程序运行后显示: 8月份第一次出现35度及以上气温的日期是2日 8月份最后一次出现35度及以上气温的日期是28日 8月份最高气温是40度,最低气温是27度 8月份日平均气温是35.84度 #include doublecalc(intt[],intc[]) { inti,f_day,l_day,max_t,min_t; doubleavg=0; f_day=l_day=0; max_t=0;min_t=100; /***********FOUND***********/ for(i=0;i<32;++i) { avg=avg+t[i]; if(t[i]>=35) { l_day=i; if(f_day==0)f_day=i; } if(t[i]>max_t) max_t=t[i]; if(t[i] min_t=t[i]; } c[0]=f_day; c[1]=l_day; c[2]=max_t; c[3]=min_t; /***********FOUND***********/ returnavg; } intmain() { intdot[32]={0,28,36,34,35,36,37,36,36,34,38,40,39, 38,37,36,34,36,37,38,36,34,36,37,38,39,40,40,40,27,29,30}; intdata[4]; doubleavg_t; /***********FOUND***********/ avg_t=calc(data,dot); printf("8月份第一次出现35度及以上气温的日期是%d号\n",data[0]); printf("8月份最后一次出现35度及以上气温的日期是%d号\n",data[1]); printf("8月份最高气温是%d度,最低气温是%d度\n",data[2],data[3]); printf("8月份日平均气温是%6.2f度\n",avg_t); return0; } 答案: =======(答案1)======= for(i=1;i<32;++i) =========或========= for(i=1;i<=31;++i) =======(答案2)======= returnavg/31 =========或========= returnavg/31.0 =======(答案3)======= avg_t=calc(dot,data); ━━━━━━━━━━━━━━━━ 三、程序设计共1题(共计30分) ━━━━━━━━━━━━━━━━ 第1题(30.0分)题号: 143难度: 中第1章 题目: 老师布置作业,要求计算某年某月某日是这一年的第几天。 小莉把日期写成了 字符串形式。 请帮助小莉编写程序,先将形如"2017-03-01"的日期字符串 转换为3个整数,再计算该日期是这一年的第几天。 例如: 字符串为"2017-03-012016-03-012017-12-31",程序运行结果为 2017-3-1第60天 2016-3-1第61天 2017-12-31第365天 编写程序: 1.编写intchange(chard[],intrq[][4])函数,将d中所有日期形式的数字字符子 串转换为年、月、日3个整数,存放在rq数组的同一行前3列。 函数返回形如 "2017-03-01"字符子串的个数。 2.编写voidday(intrq[][4],intn)函数,根据rq数组中每行前3个元素表示的年、 月、日,计算该日期是这一年的第几天,并保存在rq数组同一行的第4列。 参数n表 示rq数组中保存了n行日期数据。 #include #include #include #defineN10 intmon[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; intchange(chard[],intrq[][4]) { /**********Program**********/ /**********End**********/ } voidday(intrq[][4],intn) { /**********Program**********/ /**********End**********/ } intmain() { chardate[]={"2017-03-012016-03-012017-12-31"}; intymds[N][4]; intn,i; FILE*fp; if((fp=fopen("DATA.TXT","w"))==NULL) { printf("Fileopenerror\n"); exit(0); } n=change(date,ymds); day(ymds,n); for(i=0;i { printf("%d-%d-%d第%d天\n",ymds[i][0],ymds[i][1],ymds[i][2],ymds[i][3]); fprintf(fp,"%d-%d-%d第%d天\n",ymds[i][0],ymds[i][1],ymds[i][2],ymds[i][3]); } fclose(fp); return0; } 答案: inti,j,k; for(i=j=0;d[i];i++) { if(isdigit(d[i])) { for(k=0;k<3;k++) { rq[j][k]=0; while(isdigit(d[i])) rq[j][k]=rq[j][k]*10+d[i++]-'0'; i++; } j++;i--; } } returnj; inti,j,days; for(i=0;i { days=rq[i][2]; for(j=1;j days+=mon[j]; if(((rq[i][0]%4==0&&rq[i][0]%100! =0)||rq[i][0]%400==0)&&rq[i][1]>2) days++; rq[i][3]=days; } ━━━━━━━━━━━━━━━━ 一、程序填空共1题(共计20分) ━━━━━━━━━━━━━━━━ 第1题(20.0分)题号: 143难度: 中第1章 题目: main函数中a数组的n个元素互不相同。 函数insert(inta[],intn,intx)的 功能是: 在一维有序数组a中插入x,插入x后数组a仍保持原来的有序性。 例如: 调用insert函数前,main函数中a数组的元素为129430-5 当x的值为1时,调用insert函数后,a数组的元素为1294310-5 调用insert函数前,main函数中b数组的元素为-10-427 当x的值为1时,调用insert函数后,b数组的元素为-10-4127 -------------------------------------------------------------------------- 注意: 除要求填空的位置之外,请勿改动程序中的其他内容。 -------------------------------------------------------------------------*/ #include voidinsert(inta[],intn,intx) { inti; intflag; flag=a[0]>a[1]; /**************************SPACE*************************/ for(i=n-1;i>=0&&(【? 】?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 江苏省 对口 语言 技能 考试 汇总 排版
![提示](https://static.bdocx.com/images/bang_tan.gif)