内容正文:
山东省春季高考技能测试
C语言程序设计第十四套(原卷版)
第 一 题 程序改错题
本题有3行代码错误,请考生找到错误代码行,将错误代码行号、修改后的该行程序代码填写到考试系统中对应的答题区域。
程序功能:自定义函数sws()计算任意年份(四位数字)各位数字的平方和,主函数中输入一个年份,调用自定义函数输出这个年份四位数各位数字的平方和。例如输入1234,输出30。
Program1.c代码(首行数字为行号)如下:
1 #include <stdio.h>
2 int sws(int x)
3 {
4 int i,j,s=0;
5 for(i=0;i<3;i++)
6 {
7 j=x% 10;
8 x=x/10;
9 s=s+j;
10 }
11 return s;
12 }
13 int main()
14 {
15 int x,s;
16 printf("请输入一个四位数年份:
");
17 scanf("%d",&x);
18 s=sws();
19 printf("%d",s);
20 return 0;
21 }
答案:
【1】错误行号:
正确代码:
【2】错误行号:
正确代码:
【3】错误行号:
正确代码:
第 二 题 程序填空题
请考生将【序号】处所缺的多行程序代码填写到考试系统中对应的答题区域,实现程序功能。
程序功能:有一个一维数组a存储8位二进制数,现对数组内的每一位二进制数取反,即把0变为1,1变为0,在主函数中把取反后的二进制数输出。
Program2.c代码如下:
#include <stdio.h>
int main()
{
int i,a[8]={1,1,0,0,1,1,1,0};
for(i=0;i<8;i++)
{
【1】
}
for(i=0;i<8;i++)
printf("%d ",a[i]);
return 0;
}
答案:
【1】
第 三 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:字符数组x的长度为5,将x中的字符依次复制到字符数组y中已有元素的后面(数组y初始化时存入'a','b'两个元素)。从键盘输入数组x的元素,输出数组y的全部元素。
答案:
程序代码:
第 四 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:从键盘输入6名学生的体测成绩(成绩为百分制整数),高于平均分的学生考核优秀(平均分保留2位小数),输出体测成绩平均分和考核优秀学生的分数。
答案:
程序代码:
学科网(北京)股份有限公司
学科网(北京)股份有限公司原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
/*程序功能:自定义函数sws()计算任意年份(四位数字)各位数字的平方和,主函数中输入一个年份,
调用自定义函数输出这个年份四位数各位数字的平方和。例如输入1234,输出30.
Program1.c代码(行首数字为行号)如下:*/
#include <stdio.h>
int sws(int x)
{
int i,j,s=0;
for(i=0;i<3;i++)
{
j=x% 10;
x=x/10;
s=s+j;
}
return s;
}
int main(
{
int x,s;
printf("请输入一个四位数年份:
");
scanf("%d",&x);
s=sws();
printf("%d",s);
return 0;
}
/*程序功能:有一个一维数组a存储8位二进制数,现对数组内的每一位二进制数取反,
即把0变为1,1变为0,在主函数中把取反后的二进制数输出。
Program2.c代码如下:*/
#include <stdio.h>
int main(){
int i,a[8]={1,1,0,0,1,1,1,0};
for(i=0;i<8;i++)
{
【1】
}
for(i=0;i<8;i++)
printf("%d ",a[i]);
return 0;
}
$$
山东省春季高考技能测试
C语言程序设计第十四套(答案版)
第 一 题 程序改错题
本题有3行代码错误,请考生找到错误代码行,将错误代码行号、修改后的该行程序代码填写到考试系统中对应的答题区域。
程序功能:自定义函数sws()计算任意年份(四位数字)各位数字的平方和,主函数中输入一个年份,调用自定义函数输出这个年份四位数各位数字的平方和。例如输入1234,输出30。
Program1.c代码(首行数字为行号)如下:
1 #include <stdio.h>
2 int sws(int x)
3 {
4 int i,j,s=0;
5 for(i=0;i<3;i++)
6 {
7 j=x% 10;
8 x=x/10;
9 s=s+j;
10 }
11 return s;
12 }
13 int main()
14 {
15 int x,s;
16 printf("请输入一个四位数年份:
");
17 scanf("%d",&x);
18 s=sws();
19 printf("%d",s);
20 return 0;
21 }
答案:(满分18分)
【1】错误行号:5
正确代码:for(i=0;i<4;i++)
【2】错误行号:9
正确代码:s=s+j*j;
【3】错误行号:18
正确代码:s=sws(x);
第 二 题 程序填空题
请考生将【序号】处所缺的多行程序代码填写到考试系统中对应的答题区域,实现程序功能。
程序功能:有一个一维数组a存储8位二进制数,现对数组内的每一位二进制数取反,即把0变为1,1变为0,在主函数中把取反后的二进制数输出。
Program2.c代码如下:
#include <stdio.h>
int main()
{
int i,a[8]={1,1,0,0,1,1,1,0};
for(i=0;i<8;i++)
{
【1】
}
for(i=0;i<8;i++)
printf("%d ",a[i]);
return 0;
}
答案:(满分18分)
a[i] = 1 - a[i];
第 三 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:字符数组x的长度为5,将x中的字符依次复制到字符数组y中已有元素的后面(数组y初始化时存入'a','b'两个元素)。从键盘输入数组x的元素,输出数组y的全部元素。
答案:(满分28分)
程序代码:
#include <stdio.h>
int main() {
// 初始化数组y,包含初始元素'a'和'b'
char y[7] = {'a', 'b'};
// 定义数组x,用于存储输入的5个字符
char x[5];
int i;
// 从键盘输入数组x的元素
printf("请输入5个字符: ");
for (i = 0; i < 5; i++) {
scanf(" %c", &x[i]); // 空格用于跳过可能的空白字符
}
// 将x中的元素复制到y中已有元素的后面
for (i = 0; i < 5; i++) {
y[2 + i] = x[i]; // y已有2个元素,从索引2开始复制
}
// 输出数组y的全部元素
printf("数组y的全部元素为: ");
for (i = 0; i < 7; i++) {
printf("%c ", y[i]);
}
printf("
");
return 0;
}
第 四 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:从键盘输入6名学生的体测成绩(成绩为百分制整数),高于平均分的学生考核优秀(平均分保留2位小数),输出体测成绩平均分和考核优秀学生的分数。
答案:(满分36分)
程序代码:
#include <stdio.h>
int main() {
int scores[6]; // 存储6名学生的成绩
int i;
int sum = 0; // 总成绩
float average; // 平均分
// 输入6名学生的成绩
printf("请输入6名学生的体测成绩(整数):
");
for (i = 0; i < 6; i++) {
scanf("%d", &scores[i]);
sum += scores[i];
}
// 计算平均分
average = (float)sum / 6;
// 输出平均分(保留2位小数)
printf("体测成绩平均分:%.2f
", average);
// 输出优秀学生的分数(高于平均分)
printf("考核优秀学生的分数:");
for (i = 0; i < 6; i++) {
if (scores[i] > average) {
printf("%d ", scores[i]);
}
}
printf("
");
return 0;
}
5.综合素质(15分)
(1)考生全程无不当操作(如随意插拔设备、误触系统设置等)且能正确使用考试系统功能(如提交答案、标记题目等);5分
(2)按题目要求正确保存相关素材,规范答题;5分
(3)考生全程无任何违规行为(如交头接耳、携带违禁物品、偷看他人答案等);5分
【根据考生实际答题情况,即使无任何作答,只要参加考试并登录考试系统即有30分,因此大胆猜测软件专业技能考试数据库和C语言各有15分综合素质分,仅提供参考。阅卷时需按照卷面满分各科100分进行阅卷,阅卷结束后,根据需要自行补充30分综合素质分】
学科网(北京)股份有限公司原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$