内容正文:
山东省春季高考技能测试
C语言程序设计第三十套(答案版)
第 一 题 程序填空题
请考生将【序号】处所缺的单行程序代码填写到考试系统中对应的答题区域,实现程序功能。
程序功能:输入一行字符作为密码,以回车结束,判断是否为合法密码。要求密码长度为3~10。
Program1.c代码如下:
#include <stdio.h>
main()
{
int num=【1】;
char c;
printf("请输入一行字符:
");
while((【2】)!='
')
【3】;
if(num>=3【4】)
printf("这是一个合法密码
");
else
printf("密码非法!
");
}
答案:(满分20分)
【1】0
【2】c=getchar()
【3】num++
【4】&& num <= 10
第 二 题 程序填空题
请考生将【序号】处所缺的单行程序代码填写到考试系统中对应的答题区域,实现程序功能。
程序功能:任意输入一个整数,求出其绝对值并输出。输入一个字符,查找在数组a中出现的次数并输出。
Program2.c代码如下:
#include <stdio.h>
#include <string.h>
void main()
{
char a[5]={'a','e','c','d','e'}, ch;
int count=【1】,i;
printf("请输入要查询的字符
");
scanf("【2】",&ch);
for ( i = 0; i < strlen(a) ; i++)
if (【3】)
count++;
printf("个数为%d
", 【4】);
}
答案:(满分20分)
【1】0
【2】%c
【3】a[i] == ch
【4】count
第 三 题 程序改错题
本题有3行代码错误,请考生找到错误代码行,将错误代码行号、修改后的该行程序代码填写到考试系统中对应的答题区域。
程序功能:输入Tom,Marry,Jerry三人的年龄,输出最小年龄值。
Program3.c代码(首行数字为行号)如下:
1 #include<stdio.h>
2 void main()
3 {
4 int t,m,j,min;
5 printf("请输入三人的年龄:");
6 scanf("%d%d%d",t,m,j);
7 min=t;
8 if(min>m)
9 min=m;
10 else if(min>j)
11 min=j;
12 printf("min=%d");
13 }
答案:(满分15分)
【1】错误行号:6
正确代码:scanf("%d%d%d",&t,&m,&j);
【2】错误行号:10
正确代码:if(min>j)
【3】错误行号:12
正确代码:printf("min=%d",min);
第 四 题 程序改错题
本题有3行代码错误,请考生找到错误代码行,将错误代码行号、修改后的该行程序代码填写到考试系统中对应的答题区域。
程序功能:定义3行3列的二维数组,输出正对角线元素之和。
Program4.c代码(首行数字为行号)如下:
1 #include <stdio.h>
2 #define n 3
3 void main()
4 {
5 int a[N][N],i,j,sum=0;
6 for ( i = 0; i < N; i++)
7 for (j = 0; j < N; j++)
8 {
9 scanf("%d", &a[i][j]);
10 if (j == i)
11 sum += &a[i][j];
12 }
13 printf("正对角线的和是%d
", sum);
14 }
答案:(满分15分)
【1】错误行号:5
正确代码:int a[n][n],i,j,sum=0;
【2】错误行号:6
正确代码:for ( i = 0; i < n; i++)
【3】错误行号:11
正确代码:sum += a[i][j];
第 五 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:输入n(n为正整数),输出1-n之间的所有整数,每行显示5个整数,遇到被3整除的整数用“*”代替。
答案:(满分30分)
程序代码:
#include <stdio.h>、
int main() {
int n, i, count = 0;
printf("请输入一个正整数n: ");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
if (i % 3 == 0) {
printf("*");
} else {
printf("%d", i);
}
count++; // 计数已输出的数字
if (count % 5 == 0) {
printf("
");
} else {
printf(" ");
}
}
if (count % 5 != 0) {
printf("
");
}
return 0;
}
5.综合素质(15分)
(1)考生全程无不当操作(如随意插拔设备、误触系统设置等)且能正确使用考试系统功能(如提交答案、标记题目等);5分
(2)按题目要求正确保存相关素材,规范答题;5分
(3)考生全程无任何违规行为(如交头接耳、携带违禁物品、偷看他人答案等);5分
【根据考生实际答题情况,即使无任何作答,只要参加考试并登录考试系统即有30分,因此大胆猜测软件专业技能考试数据库和C语言各有15分综合素质分,仅提供参考。阅卷时需按照卷面满分各科100分进行阅卷,阅卷结束后,根据需要自行补充30分综合素质分】
学科网(北京)股份有限公司原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
山东省春季高考技能测试
C语言程序设计第三十套(原卷版)
第 一 题 程序填空题
请考生将【序号】处所缺的单行程序代码填写到考试系统中对应的答题区域,实现程序功能。
程序功能:输入一行字符作为密码,以回车结束,判断是否为合法密码。要求密码长度为3~10。
Program1.c代码如下:
#include <stdio.h>
main()
{
int num=【1】;
char c;
printf("请输入一行字符:
");
while((【2】)!='
')
【3】;
if(num>=3【4】)
printf("这是一个合法密码
");
else
printf("密码非法!
");
}
答案:
【1】
【2】
【3】
【4】
第 二 题 程序填空题
请考生将【序号】处所缺的单行程序代码填写到考试系统中对应的答题区域,实现程序功能。
程序功能:任意输入一个整数,求出其绝对值并输出。输入一个字符,查找在数组a中出现的次数并输出。
Program2.c代码如下:
#include <stdio.h>
#include <string.h>
void main()
{
char a[5]={'a','e','c','d','e'}, ch;
int count=【1】,i;
printf("请输入要查询的字符
");
scanf("【2】",&ch);
for ( i = 0; i < strlen(a) ; i++)
if (【3】)
count++;
printf("个数为%d
", 【4】);
}
答案:
【1】
【2】
【3】
【4】
第 三 题 程序改错题
本题有3行代码错误,请考生找到错误代码行,将错误代码行号、修改后的该行程序代码填写到考试系统中对应的答题区域。
程序功能:输入Tom,Marry,Jerry三人的年龄,输出最小年龄值。
Program3.c代码(首行数字为行号)如下:
1 #include<stdio.h>
2 void main()
3 {
4 int t,m,j,min;
5 printf("请输入三人的年龄:");
6 scanf("%d%d%d",t,m,j);
7 min=t;
8 if(min>m)
9 min=m;
10 else if(min>j)
11 min=j;
12 printf("min=%d");
13 }
答案:
【1】错误行号:
正确代码:
【2】错误行号:
正确代码:
【3】错误行号:
正确代码:
第 四 题 程序改错题
本题有3行代码错误,请考生找到错误代码行,将错误代码行号、修改后的该行程序代码填写到考试系统中对应的答题区域。
程序功能:定义3行3列的二维数组,输出正对角线元素之和。
Program4.c代码(首行数字为行号)如下:
1 #include <stdio.h>
2 #define n 3
3 void main()
4 {
5 int a[N][N],i,j,sum=0;
6 for ( i = 0; i < N; i++)
7 for (j = 0; j < N; j++)
8 {
9 scanf("%d", &a[i][j]);
10 if (j == i)
11 sum += &a[i][j];
12 }
13 printf("正对角线的和是%d
", sum);
14 }
答案:
【1】错误行号:
正确代码:
【2】错误行号:
正确代码:
【3】错误行号:
正确代码:
第 五 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:输入n(n为正整数),输出1-n之间的所有整数,每行显示5个整数,遇到被3整除的整数用“*”代替。
答案:
程序代码:
学科网(北京)股份有限公司
学科网(北京)股份有限公司原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
/*程序功能:输入一个字符,查找在数组a中出现的次数并输出。
program2.c代码如下:*/
#include <stdio.h>
#include <string.h>
void main()
{
char a[5]={'a','e','c','d','e'}, ch;
int count=【1】,i;
printf("请输入要查询的字符
");
scanf("【2】",&ch);
for ( i = 0; i < strlen(a) ; i++)
if (【3】)
count++;
printf("个数为%d
", 【4】);
}
#include<stdio.h>
void main()
{
int t,m,j,min;
printf("请输入三人的年龄:");
scanf("%d%d%d",t,m,j);
min=t;
if(min>m)
min=m;
else if(min>j)
min=j;
printf("min=%d");
}
#include <stdio.h>
#define n 3
void main()
{
int a[N][N],i,j,sum=0;
for ( i = 0; i < N; i++)
for (j = 0; j < N; j++)
{
scanf("%d", &a[i][j]);
if (j = i)
sum += &a[i][j];
}
printf("正对角线的和是%d
", sum);
}
/*程序功能:输入一行字符作为密码,以回车结束,判断是否为合法密码。要求密码长度为3~10。
program1.c代码如下:*/
#include <stdio.h>
main()
{
int num=【1】;
char c;
printf("请输入一行字符:
");
while((【2】)!='
')
【3】;
if(num>=3【4】)
printf("这是一个合法密码
");
else
printf("密码非法!
");
}
$