内容正文:
山东省春季高考技能测试
C语言程序设计第十九套(原卷版)
第 一 题 程序改错题
本题有3行代码错误,请考生找到错误代码行,将错误代码行号、修改后的该行程序代码填写到考试系统中对应的答题区域。
程序功能:使用指针实现只将字符串s1中的数字字符添加到字符串s2中,输出s1和s2.
Program1.c代码(首行数字为行号)如下:
1 #include <stdio.h>
2 int main()
3 {
4 char s1[50],s2[50],*p1,*p2;
5 p1=s1;
6 p2=s2;
7 gets(s1);
8 while(p1!='\0')
9 {
10 if(*p1>='0'&&*p1<='9')
11 {
12 p2=p1;
13 p1++;
14 p2++;
15 }
16 else
17 p2++;
18 }
19 *p2='\0';
20 puts(s1);
21 puts(s2);
22 return 0;
23 }
答案:
【1】错误行号:
正确代码:
【2】错误行号:
正确代码:
【3】错误行号:
正确代码:
第 二 题 程序填空题
请考生将【序号】处所缺的多行程序代码填写到考试系统中对应的答题区域,实现程序功能。
程序功能:将各位数字之和等于10的所有三位数输出,统计并输出满足条件的三位数的个数。
Program2.c代码如下:
#include <stdio.h>
int main()
{
int num,bw,sw,gw,count=0:// bw百位数,sw十位数,gw个位数
for(num=100;num<1000;num++){
【1】
{
printf("%8d",num);
count++;
}
}
printf("
各位数字之和等于10的三位数共有:%d个",count);
return 0;
}
答案:
【1】
第 三 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:从键盘输入一个字符,判断并输出是字母、数字还是其它字符。
答案:
程序代码:
第 四 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:定义func()函数,返回n!的值(n!=1*2*3*....*(n-1)*n)。主函数输入正整数n,调用func()函数,计算并输出前n项1/n!的和,保留两位小数输出。
答案:
程序代码:
学科网(北京)股份有限公司
学科网(北京)股份有限公司原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
/*程序功能:使用指针实现只将字符串s1中的数字字符添加到字符串s2中,输出s1和s2.
Program1.c代码(行首数字为行号)如下:*/
#include <stdio.h>
int main()
{
char s1[50],s2[50],*p1,*p2;
p1=s1;
p2=s2;
gets(s1);
while(p1!='\0')
{
if(*p1>='0'&&*p1<='9')
{
p2=p1;
p1++;
p2++;
}
else
p2++;
}
*p2='\0';
puts(s1);
puts(s2);
return 0;
}
/*程序功能:将各位数字之和等于10的所有三位数输出,统计并输出满足条件的三位数的个数。
Program2.c代码如下:*/
#include <stdio.h>
int main()
{
int num,bw,sw,gw,count=0:// bw百位数,sw十位数,gw个位数
for(num=100;num<1000;num++){
【1】
{
printf("%8d",num);
count++;
}
}
printf("
各位数字之和等于10的三位数共有:%d个",count);
return 0;
}
$$
山东省春季高考技能测试
C语言程序设计第十九套(答案版)
第 一 题 程序改错题
本题有3行代码错误,请考生找到错误代码行,将错误代码行号、修改后的该行程序代码填写到考试系统中对应的答题区域。
程序功能:使用指针实现只将字符串s1中的数字字符添加到字符串s2中,输出s1和s2.
Program1.c代码(首行数字为行号)如下:
1 #include <stdio.h>
2 int main()
3 {
4 char s1[50],s2[50],*p1,*p2;
5 p1=s1;
6 p2=s2;
7 gets(s1);
8 while(p1!='\0')
9 {
10 if(*p1>='0'&&*p1<='9')
11 {
12 p2=p1;
13 p1++;
14 p2++;
15 }
16 else
17 p2++;
18 }
19 *p2='\0';
20 puts(s1);
21 puts(s2);
22 return 0;
23 }
答案:(满分18分)
【1】错误行号:8
正确代码:while(*p1!='\0')
【2】错误行号:12
正确代码:*p2=*p1;
【3】错误行号:17
正确代码:p1++;
第 二 题 程序填空题
请考生将【序号】处所缺的多行程序代码填写到考试系统中对应的答题区域,实现程序功能。
程序功能:将各位数字之和等于10的所有三位数输出,统计并输出满足条件的三位数的个数。
Program2.c代码如下:
#include <stdio.h>
int main()
{
int num,bw,sw,gw,count=0:// bw百位数,sw十位数,gw个位数
for(num=100;num<1000;num++){
【1】
{
printf("%8d",num);
count++;
}
}
printf("
各位数字之和等于10的三位数共有:%d个",count);
return 0;
}
答案:(满分18分)
bw = num / 100;
sw = (num / 10) % 10;
gw = num % 10;
// 判断各位数字之和是否等于10
if(bw + sw + gw == 10)
第 三 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:从键盘输入一个字符,判断并输出是字母、数字还是其它字符。
答案:(满分28分)
程序代码:
#include <stdio.h>
int main() {
char c;
// 从键盘输入一个字符
printf("请输入一个字符: ");
scanf("%c", &c);
// 判断字符类型
if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')) {
printf("该字符是字母
");
} else if (c >= '0' && c <= '9') {
printf("该字符是数字
");
} else {
printf("该字符是其它字符
");
}
return 0;
}
第 四 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:定义func()函数,返回n!的值(n!=1*2*3*....*(n-1)*n)。主函数输入正整数n,调用func()函数,计算并输出前n项1/n!的和,保留两位小数输出。
答案:(满分36分)
程序代码:
#include <stdio.h>
// 自定义函数:计算n的阶乘n!
long long func(int n) {
long long factorial = 1;
int i;
for (i = 1; i <= n; i++) {
factorial *= i;
}
return factorial;
}
int main() {
int n, i;
double sum = 0.0; // 存储前n项1/n!的和
// 输入正整数n
printf("请输入一个正整数n: ");
scanf("%d", &n);
// 计算前n项1/n!的和
for (i = 1; i <= n; i++) {
sum += 1.0 / func(i);
}
// 保留两位小数输出结果
printf("前%d项1/n!的和为: %.2f
", n, sum);
return 0;
}
5.综合素质(15分)
(1)考生全程无不当操作(如随意插拔设备、误触系统设置等)且能正确使用考试系统功能(如提交答案、标记题目等);5分
(2)按题目要求正确保存相关素材,规范答题;5分
(3)考生全程无任何违规行为(如交头接耳、携带违禁物品、偷看他人答案等);5分
【根据考生实际答题情况,即使无任何作答,只要参加考试并登录考试系统即有30分,因此大胆猜测软件专业技能考试数据库和C语言各有15分综合素质分,仅提供参考。阅卷时需按照卷面满分各科100分进行阅卷,阅卷结束后,根据需要自行补充30分综合素质分】
学科网(北京)股份有限公司原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$