内容正文:
山东省春季高考技能测试
C语言程序设计第十六套(原卷版)
第 一 题 程序改错题
本题有3行代码错误,请考生找到错误代码行,将错误代码行号、修改后的该行程序代码填写到考试系统中对应的答题区域。
程序功能:有二维数组a[3][4],并进行了初始化,输出该数组元素的最小数值及其相应的行号和列号(行号、列号分别定义为row、colum)
Program1.c代码(首行数字为行号)如下:
1 #include<stdio.h>
2 int main()
3 {
4 int a[3][4]=(9,11,5,4,15,2,7,6,10,-10,-5,12);
5 int i,j,min=0;
6 int row=0,colum=0;
7 for(i=0;i<3;i++)
8 {
9 for(j=0;j<4;j++)
10 if(a[i][j]> min)
11 {
12 a[i][j]=min;
13 row=i;
14 colum=j;
15 }
16 }
17 printf("数组元素中最小值为:%d
",min);
18 printf("row=%d
colum=%d
",row,colum);
19 return 0;
20 }
答案:
【1】错误行号:
正确代码:
【2】错误行号:
正确代码:
【3】错误行号:
正确代码:
第 二 题 程序填空题
请考生将【序号】处所缺的多行程序代码填写到考试系统中对应的答题区域,实现程序功能。
程序功能:自定义函数control(int time),模拟智能家居窗帘时间控制策略,在主函数中输入时间time为6点时输出“打开窗帘”,输入时间time为18点则输出“关闭窗帘”;否则输出“现在不是控制窗帘时间”。
Program2.c代码如下:
#include <stdio.h>
void control(int time)
{
【1】
else
printf("不在控制窗帘时间
");
}
int main()
{
int time;
printf("请输入时间:
");
scanf("%d",&time);
control(time);
return 0;
}
答案:
【1】
第 三 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:某网上书店正在热卖一种畅销书,每本书售价18元,第一天卖出3本,从第二天开始,后面每天卖书数量都是前一天的2倍,输出这种畅销书的营业额超过1000元所需要的天数及营业额。(天数、营业额分别定义为day、money)
答案:
程序代码:
第 四 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:定义两个数组a和b,从键盘给数组a输入5个整数,利用指针把数组a中的所有奇数存入数组b中,并输出数组b的全部元素。
答案:
程序代码:
学科网(北京)股份有限公司
学科网(北京)股份有限公司原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
/*程序功能:有二维数组a[3][4],并进行了初始化,输出该数组元素的最小数值及其相应的行号和列号
(行号、列号分别定义为row、colum)
Program1.c代码(行首数字为行号)如下:*/
#include<stdio.h>
int main(
{
int a[3][4]=(9,11,5,4,15,2,7,6,10,-10,-5,12);
int i,j,min=0;
int row=0,colum=0;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
if(a[i][j]> min)
{
a[i][j]=min;
row=i;
colum=j;
}
}
printf("数组元素中最小值为:%d
",min);
printf("row=%d
colum=%d
",row,colum);
return 0;
}
/*程序功能:程序功能:自定义函数control(int time),模拟智能家居窗帘时间控制策略,
在主函数中输入时间time为6点时输出“打开窗帘”,输入时间time为18点则输出“关闭窗帘”;
否则输出“现在不是控制窗帘时间” 。
Program2.c代码如下:*/
#include <stdio.h>
void control(int time)
{
【1】
else
printf("不在控制窗帘时间
");
}
int main()
{
int time;
printf("请输入时间:
");
scanf("%d",&time);
control(time);
return 0;
}
$$
山东省春季高考技能测试
C语言程序设计第十六套(答案版)
第 一 题 程序改错题
本题有3行代码错误,请考生找到错误代码行,将错误代码行号、修改后的该行程序代码填写到考试系统中对应的答题区域。
程序功能:有二维数组a[3][4],并进行了初始化,输出该数组元素的最小数值及其相应的行号和列号(行号、列号分别定义为row、colum)
Program1.c代码(首行数字为行号)如下:
1 #include<stdio.h>
2 int main()
3 {
4 int a[3][4]=(9,11,5,4,15,2,7,6,10,-10,-5,12);
5 int i,j,min=0;
6 int row=0,colum=0;
7 for(i=0;i<3;i++)
8 {
9 for(j=0;j<4;j++)
10 if(a[i][j]> min)
11 {
12 a[i][j]=min;
13 row=i;
14 colum=j;
15 }
16 }
17 printf("数组元素中最小值为:%d
",min);
18 printf("row=%d
colum=%d
",row,colum);
19 return 0;
20 }
答案:(满分18分)
【1】错误行号:4
正确代码:int a[3][4]={{9,11,5,4},{15,2,7,6},{10,-10,-5,12}};
【2】错误行号:10
正确代码:if(a[i][j] < min)
【3】错误行号:12
正确代码:min = a[i][j];
第 二 题 程序填空题
请考生将【序号】处所缺的多行程序代码填写到考试系统中对应的答题区域,实现程序功能。
程序功能:自定义函数control(int time),模拟智能家居窗帘时间控制策略,在主函数中输入时间time为6点时输出“打开窗帘”,输入时间time为18点则输出“关闭窗帘”;否则输出“现在不是控制窗帘时间”。
Program2.c代码如下:
#include <stdio.h>
void control(int time)
{
【1】
else
printf("不在控制窗帘时间
");
}
int main()
{
int time;
printf("请输入时间:
");
scanf("%d",&time);
control(time);
return 0;
}
答案:(满分18分)
if (time == 6)
printf("打开窗帘
");
else if (time == 18)
printf("关闭窗帘
");
第 三 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:某网上书店正在热卖一种畅销书,每本书售价18元,第一天卖出3本,从第二天开始,后面每天卖书数量都是前一天的2倍,输出这种畅销书的营业额超过1000元所需要的天数及营业额。(天数、营业额分别定义为day、money)
答案:(满分28分)
程序代码:
#include <stdio.h>
int main() {
int day = 1; // 天数,初始为第1天
long long money = 0; // 总营业额
int sales = 3; // 第一天卖出3本
const int price = 18; // 每本书售价18元
// 循环计算每天的营业额,直到总营业额超过1000元
while (money <= 1000) {
money += sales * price; // 累加当天营业额
// 如果总营业额超过1000元,退出循环
if (money > 1000) {
break;
}
sales *= 2; // 第二天开始,销量是前一天的2倍
day++; // 天数加1
}
// 输出结果
printf("营业额超过1000元需要%d天,营业额为%d元
", day, money);
return 0;
}
第 四 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:定义两个数组a和b,从键盘给数组a输入5个整数,利用指针把数组a中的所有奇数存入数组b中,并输出数组b的全部元素。
答案:(满分36分)
程序代码:
#include <stdio.h>
int main() {
int a[5], b[5]; // 定义数组a和b
int *p_a, *p_b; // 定义指向数组a和b的指针
int i, count = 0; // count用于记录数组b中的元素个数
// 从键盘输入数组a的5个整数
printf("请输入5个整数: ");
for (i = 0; i < 5; i++) {
scanf("%d", &a[i]);
}
// 使用指针将数组a中的奇数存入数组b
p_a = a; // 指针p_a指向数组a的首元素
p_b = b; // 指针p_b指向数组b的首元素
for (i = 0; i < 5; i++) {
if (*p_a % 2 != 0) { // 判断是否为奇数
*p_b = *p_a; // 将奇数存入数组b
p_b++; // 移动指针p_b到下一个位置
count++; // 计数器加1
}
p_a++; // 移动指针p_a到下一个位置
}
// 输出数组b的全部元素
printf("数组b中的奇数为: ");
for (i = 0; i < count; i++) {
printf("%d ", b[i]);
}
printf("
");
return 0;
}
5.综合素质(15分)
(1)考生全程无不当操作(如随意插拔设备、误触系统设置等)且能正确使用考试系统功能(如提交答案、标记题目等);5分
(2)按题目要求正确保存相关素材,规范答题;5分
(3)考生全程无任何违规行为(如交头接耳、携带违禁物品、偷看他人答案等);5分
【根据考生实际答题情况,即使无任何作答,只要参加考试并登录考试系统即有30分,因此大胆猜测软件专业技能考试数据库和C语言各有15分综合素质分,仅提供参考。阅卷时需按照卷面满分各科100分进行阅卷,阅卷结束后,根据需要自行补充30分综合素质分】
学科网(北京)股份有限公司原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$