内容正文:
山东省春季高考技能测试
C语言程序设计第十一套(原卷版)
第 一 题 程序改错题
本题有3行代码错误,请考生找到错误代码行,将错误代码行号、修改后的该行程序代码填写到考试系统中对应的答题区域。
程序功能:函数avg()的功能为计算2个正数的平均值,主函数输入2个实数,如果这2个数均为正数,调用avg()输出它们的平均值,输出数据的宽度占10位,小数占2位;否则输出“输入错误!”。
Program1.c代码(首行数字为行号)如下:
1 #include <stdio.h>
2 float avg(a, b)
3 {
4 float pjz=0.0;
5 pjz=(a+b)/2.0;
6 return pjz;
7 }
8 int main()
9 {
10 float a,b;
11 printf("请输入2个数:
");
12 scanf("%f%f",&a,&b);
13 if(a>0 || b>0)
14 printf("平均值:%f",avg(a,b));
15 else
16 printf("输入错误!");
17 return 0;
18 }
答案:
【1】错误行号:
正确代码:
【2】错误行号:
正确代码:
【3】错误行号:
正确代码:
第 二 题 程序填空题
请考生将【序号】处所缺的多行程序代码填写到考试系统中对应的答题区域,实现程序功能。
程序功能:编写自定义函数repla(),将字符串中所有大写字母'A'和小写字母'a'均替换成小写字母'e'。主函数输入字符串,调用该函数,输出替换后的字符串。
Program2.c代码如下:
#include <stdio.h>
void repla(char str[])
{
int i;
【1】
}
int main()
{
char s[30];
gets(s);
repla(s);
printf("输出替换后的字符串:
");
puts(s);
return 0;
}
答案:
【1】
第 三 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:某水厂供水分居民用水和商业用水两种类型,类型分别用'1'和'2'标识,其中居民用水价格为3.0元/吨,商业用水价格为4.5元/吨,从键盘输入用水标识和用水量,计算并输出水费。
答案:
程序代码:
第 四 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:某老年大学舞蹈班有10位学员,从键盘输入学员年龄存放到一维数组a中,计算输出平均年龄,并用排序方法输出最接近且不大于平均年龄的学员年龄。
答案:
程序代码:
学科网(北京)股份有限公司
学科网(北京)股份有限公司原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
/*程序功能:函数avg()的功能为计算2个正数的平均值,主函数输入2个实数,如果这2个数均为正数,
调用avg()输出它们的平均值,输出数据的宽度占10位,小数占2位;否则输出“输入错误!"
Proqram1.c代码(行首数字为行号)如下:*/
1 #include <stdio.h>
2 float avg(a, b)
3 {
4 float pjz=0.0;
5 pjz=(a+b)/2.0;
6 return pjz;
7 }
8 int main()
9 {
10 float a,b;
11 printf("请输入2个数:
");
12 scanf("%f%f",&a,&b);
13 if(a>0 || b>0)
14 printf("平均值:%f",avg(a,b));
15 else
16 printf("输入错误!");
17 return 0;
18 }
/* 程序功能:编写自定义函数repla(),将字符串中所有的大写字母'A'和小写字
母'a'均替换成小写字母'e'。主函数输入字符串,调用该函数,输出替换后
的字符串。
Program2.c代码如下:*/
#include <stdio.h>
void repla(char str[])
{
int i;
【1】
}
int main()
{
char s[30];
gets(s);
repla(s);
printf("输出替换后的字符串:
");
puts(s);
return 0;
}
$$
山东省春季高考技能测试
C语言程序设计第十一套(答案版)
第 一 题 程序改错题
本题有3行代码错误,请考生找到错误代码行,将错误代码行号、修改后的该行程序代码填写到考试系统中对应的答题区域。
程序功能:函数avg()的功能为计算2个正数的平均值,主函数输入2个实数,如果这2个数均为正数,调用avg()输出它们的平均值,输出数据的宽度占10位,小数占2位;否则输出“输入错误!”。
Program1.c代码(首行数字为行号)如下:
1 #include <stdio.h>
2 float avg(a, b)
3 {
4 float pjz=0.0;
5 pjz=(a+b)/2.0;
6 return pjz;
7 }
8 int main()
9 {
10 float a,b;
11 printf("请输入2个数:
");
12 scanf("%f%f",&a,&b);
13 if(a>0 || b>0)
14 printf("平均值:%f",avg(a,b));
15 else
16 printf("输入错误!");
17 return 0;
18 }
答案:(满分18分)
【1】错误行号:2
正确代码:float avg(float a, float b)
【2】错误行号:13
正确代码:if(a>0 && b>0)
【3】错误行号:14
正确代码:printf("平均值:%10.2f",avg(a,b));
第 二 题 程序填空题
请考生将【序号】处所缺的多行程序代码填写到考试系统中对应的答题区域,实现程序功能。
程序功能:编写自定义函数repla(),将字符串中所有大写字母'A'和小写字母'a'均替换成小写字母'e'。主函数输入字符串,调用该函数,输出替换后的字符串。
Program2.c代码如下:
#include <stdio.h>
void repla(char str[])
{
int i;
【1】
}
int main()
{
char s[30];
gets(s);
repla(s);
printf("输出替换后的字符串:
");
puts(s);
return 0;
}
答案:(满分18分)
for(i = 0; str[i] != '\0'; i++)
{
if(str[i] == 'A' || str[i] == 'a')
{
str[i] = 'e';
}
}
第 三 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:某水厂供水分居民用水和商业用水两种类型,类型分别用'1'和'2'标识,其中居民用水价格为3.0元/吨,商业用水价格为4.5元/吨,从键盘输入用水标识和用水量,计算并输出水费。
答案:(满分28分)
程序代码:
#include <stdio.h>
int main() {
// 定义变量:用水类型(1-居民,2-商业)和用水量
char type;
float usage, fee;
// 输入用水类型和用水量
printf("请输入用水类型(1-居民,2-商业)和用水量: ");
scanf("%c%f", &type, &usage);
// 根据用水类型计算水费
if (type == '1') {
// 居民用水价格3.0元/吨
fee = usage * 3.0;
} else if (type == '2') {
// 商业用水价格4.5元/吨
fee = usage * 4.5;
} else {
// 处理无效类型
printf("输入的用水类型无效!
");
return 1; // 非正常退出
}
// 输出计算结果,保留两位小数
printf("水费为: %.2f元
", fee);
return 0;
}
第 四 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:某老年大学舞蹈班有10位学员,从键盘输入学员年龄存放到一维数组a中,计算输出平均年龄,并用排序方法输出最接近且不大于平均年龄的学员年龄。
答案:(满分36分)
程序代码:
#include <stdio.h>
int main() {
int a[10]; // 存储10位学员的年龄
int i, j, temp;
float sum = 0.0, avg;
// 输入10位学员的年龄
printf("请输入10位学员的年龄:
");
for (i = 0; i < 10; i++) {
scanf("%d", &a[i]);
sum += a[i]; // 累加年龄总和
}
// 计算平均年龄
avg = sum / 10;
printf("平均年龄为:%.2f
", avg);
// 对年龄数组进行升序排序
for (i = 0; i < 9; i++) {
for (j = 0; j < 9 - i; j++) {
if (a[j] > a[j + 1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
// 查找最接近且不大于平均年龄的年龄
int result = a[0]; // 初始化为最小年龄
for (i = 0; i < 10; i++) {
if (a[i] <= avg) {
result = a[i]; // 更新符合条件的年龄
} else {
break; // 已超过平均年龄,后续无需检查
}
}
printf("最接近且不大于平均年龄的学员年龄是:%d
", result);
return 0;
}
5.综合素质(15分)
(1)考生全程无不当操作(如随意插拔设备、误触系统设置等)且能正确使用考试系统功能(如提交答案、标记题目等);5分
(2)按题目要求正确保存相关素材,规范答题;5分
(3)考生全程无任何违规行为(如交头接耳、携带违禁物品、偷看他人答案等);5分
【根据考生实际答题情况,即使无任何作答,只要参加考试并登录考试系统即有30分,因此大胆猜测软件专业技能考试数据库和C语言各有15分综合素质分,仅提供参考。阅卷时需按照卷面满分各科100分进行阅卷,阅卷结束后,根据需要自行补充30分综合素质分】
学科网(北京)股份有限公司原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$