内容正文:
山东省春季高考技能测试
C语言程序设计第三套(原卷版)
第 一 题 程序改错题
本题有3行代码错误,请考生找到错误代码行,将错误代码行号、修改后的该行程序代码填写到考试系统中对应的答题区域。
程序功能:统计0至9之间的不同的3个数字组成的所有三位数的个数。
Program1.c代码(首行数字为行号)如下:
1 #include <stdio.h>
2 int main()
3{
4 int i=0,j=0,k=0,count=0;
5 for(i=1;i<=9;i++)
6 {
7 if(i==j) continue;
8 else
9 {
10 for(j=0;j<=9;j++)
11 {
12 if(i==j) continue;
13 else
14 {
15 for(k=0;k<=9;k++)
16 {
17 if((k==i)&&(k==j))
18 break;
19 else
20 count++;
21 }
22 }
23 }
24 }
25 }
26 printf("%c",count);
27 return 0;
28 }
答案:
【1】错误行号:
正确代码:
【2】错误行号:
正确代码:
【3】错误行号:
正确代码:
第 二 题 程序填空题
请考生将【序号】处所缺的多行程序代码填写到考试系统中对应的答题区域,实现程序功能。
程序功能:将给定的一维数组的元素分别按照原顺序和逆序输出。
Program2.c代码如下:
#include <stido.h>
#define N 7
void convert(int a[])
{
int i,temp;
【1】
}
int main()
{
int a[N]={2,3,5,8,13,21,34};
int i;
printf("
原数列:
");
for(i=0;i<N;i++)
printf("%d",a[i]);
convert(a);
printf("
逆序数列:
");
for(i=0;i<N;i++)
printf("%d",a[i]);
printf("
");
return 0;
}
答案:
【1】
第 三 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:输出10到50之间所有个位数与十位数之积小于个位数与十位数之和的整数,例如:数字21,2*1=2,2+1=3。
答案:
程序代码:
第 四 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:幼儿园里有10个小朋友在玩英文字母排序游戏,每个小朋友分别随机代表一个字母,现在已经有9个小朋友分配到字母并且按照字母升序站好了队伍,将当前队伍定义为数组char a[10]="dfghjmqtw"。如果最后一个小朋友圆圆代表字母k,她应该站到哪里?请编写程序将圆圆代表的字母k按照顺序插到数组中,输出包括k的字母序列。
答案:
程序代码:
学科网(北京)股份有限公司
学科网(北京)股份有限公司原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
#include <stdio.h>
int main()
{
int i=0,j=0,k=0,count=0;
for(i=1;i<=9;i++)
{
if(i==j) continue;
else
{
for(j=0;j<=9;j++)
{
if(i==j) continue;
else
{
for(k=0;k<=9;k++)
{
if((k==i)&&(k==j))
break;
else
count++;
}
}
}
}
}
printf("%c",count);
return 0;
}
#include <stdio.h>
#define N 7
void convert(int a[]) {
int i,temp;
【1】
}
int main() {
int a[N]= {2,3,5,8,13,21,34};
int i;
printf("
原数列:
");
for(i=0; i<N; i++)
printf("%d",a[i]);
convert(a);
printf("
逆序数列:
");
for(i=0; i<N; i++)
printf("%d",a[i]);
printf("
");
return 0;
}
$$
山东省春季高考技能测试
C语言程序设计第三套(答案版)
第 一 题 程序改错题
本题有3行代码错误,请考生找到错误代码行,将错误代码行号、修改后的该行程序代码填写到考试系统中对应的答题区域。
程序功能:统计0至9之间的不同的3个数字组成的所有三位数的个数。
Program1.c代码(首行数字为行号)如下:
1 #include <stdio.h>
2 int main()
3{
4 int i=0,j=0,k=0,count=0;
5 for(i=1;i<=9;i++)
6 {
7 if(i==j) continue;
8 else
9 {
10 for(j=0;j<=9;j++)
11 {
12 if(i==j) continue;
13 else
14 {
15 for(k=0;k<=9;k++)
16 {
17 if((k==i)&&(k==j))
18 break;
19 else
20 count++;
21 }
22 }
23 }
24 }
25 }
26 printf("%c",count);
27 return 0;
28 }
答案:(满分18分)
【1】错误行号:7
正确代码:删除此行
【2】错误行号:17
正确代码:if((k==i)||(k==j))
【3】错误行号:26
正确代码:printf("%d",count);
第 二 题 程序填空题
请考生将【序号】处所缺的多行程序代码填写到考试系统中对应的答题区域,实现程序功能。
程序功能:将给定的一维数组的元素分别按照原顺序和逆序输出。
Program2.c代码如下:
#include <stido.h>
#define N 7
void convert(int a[])
{
int i,temp;
【1】
}
int main()
{
int a[N]={2,3,5,8,13,21,34};
int i;
printf("
原数列:
");
for(i=0;i<N;i++)
printf("%d",a[i]);
convert(a);
printf("
逆序数列:
");
for(i=0;i<N;i++)
printf("%d",a[i]);
printf("
");
return 0;
}
答案:(满分18分)
for (i = 0; i < N / 2; i++)
{
temp = a[i];
a[i] = a[N - 1 - i];
a[N - 1 - i] = temp;
}
第 三 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:输出10到50之间所有个位数与十位数之积小于个位数与十位数之和的整数,例如:数字21,2*1=2,2+1=3。
答案:(满分28分)
程序代码:
#include <stdio.h>
int main() {
int num, tens, units;
// 遍历10到50之间的所有整数
for (num = 10; num <= 50; num++) {
// 分离十位数
tens = num / 10;
// 分离个位数
units = num % 10;
// 判断个位数与十位数之积是否小于它们之和
if (tens * units < tens + units) {
printf("%d ", num);
}
}
printf("
");
return 0;
}
第 四 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:幼儿园里有10个小朋友在玩英文字母排序游戏,每个小朋友分别随机代表一个字母,现在已经有9个小朋友分配到字母并且按照字母升序站好了队伍,将当前队伍定义为数组char a[10]="dfghjmqtw"。如果最后一个小朋友圆圆代表字母k,她应该站到哪里?请编写程序将圆圆代表的字母k按照顺序插到数组中,输出包括k的字母序列。
答案:(满分36分)
程序代码:
#include <stdio.h>
#include <string.h>
int main() {
// 初始化已有9个字母的数组,预留一个位置给'k'
char a[10] = "dfghjmqtw";
char insert_char = 'k';
int i, j;
int len = strlen(a); // 获取当前数组长度(9)
// 找到插入位置:第一个大于'k'的字符位置
for (i = 0; i < len; i++) {
if (a[i] > insert_char) {
break;
}
}
// 将插入位置后的所有字符向后移动一位
for (j = len; j > i; j--) {
a[j] = a[j - 1];
}
// 插入字母'k'
a[i] = insert_char;
// 输出结果
printf("插入后的字母序列: %s
", a);
return 0;
}
5.综合素质(15分)
(1)考生全程无不当操作(如随意插拔设备、误触系统设置等)且能正确使用考试系统功能(如提交答案、标记题目等);5分
(2)按题目要求正确保存相关素材,规范答题;5分
(3)考生全程无任何违规行为(如交头接耳、携带违禁物品、偷看他人答案等);5分
【根据考生实际答题情况,即使无任何作答,只要参加考试并登录考试系统即有30分,因此大胆猜测软件专业技能考试数据库和C语言各有15分综合素质分,仅提供参考。阅卷时需按照卷面满分各科100分进行阅卷,阅卷结束后,根据需要自行补充30分综合素质分】
学科网(北京)股份有限公司原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$