内容正文:
山东省春季高考技能测试
C语言程序设计第十九套(答案版)
第 一 题 程序填空题
请考生将【序号】处所缺的单行程序代码填写到考试系统中对应的答题区域,实现程序功能。
程序功能:输入无空格字符串,遍历字符数组统计大写 A-Z 数量,输出统计结果
Program1.c代码如下:
#include <stdio.h>
int main()
{
char s[25];
int k=0,upper=0;
printf("输入一串字符:");
scanf("%s",s);
while(s[k] != 【1】)
{
if(s[k]>='A' && s[k]<='Z')
upper++;
【2】;
}
printf("大写字母数量:%d",【3】);
return 【4】;
}
答案:(满分16分)
【1】'\0'
【2】k++
【3】upper
【4】0
第 二 题 程序填空题
请考生将【序号】处所缺的单行程序代码填写到考试系统中对应的答题区域,实现程序功能。
程序功能:数组首尾指针交换数据,补充单行赋值代码
Program2.c代码如下:
#include <stdio.h>
int main()
{
int arr[8]={13,25,7,41,19,32,6,28};
int *pStart=arr,*pEnd=arr+7,temp;
temp = *pStart;
【1】
*pEnd = temp;
printf("交换后首元素:%d",*pStart);
return 0;
}
答案:(满分20分)
【1】 *pStart = *pEnd;
第 三 题 编程题
程序功能:自定义函数 monthCard 计算游泳馆月卡费用,按办理时长分段收费:1. 办理≤2 个月:每月 69 元;2. 2<时长≤6 个月:前 2 个月 69 元 / 月,超出部分 55 元 / 月;3. 时长>6 个月:2*69 + 4*55,超出 6 个月部分 42 元 / 月。输入办理月数,调用函数输出总费用,保留两位小数。
答案:(满分28分)
程序代码:
#include <stdio.h>
float monthCard(int month)
{
float cost;
if(month <= 2)
cost = month * 69;
else if(month <= 6)
cost = 2*69 + (month-2)*55;
else
cost = 2*69 + 4*55 + (month-6)*42;
return cost;
}
int main()
{
int m;
float money;
printf("输入办卡月数:");
scanf("%d",&m);
money = monthCard(m);
printf("办卡总费用:%.2f元",money);
return 0;
}
第 四 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:定义 3 行 3 列二维数组,使用指针遍历全部元素;分别找出主对角线、副对角线数值,计算两条对角线最大值、最小值并全部输出,全程只用指针访问元素。
答案:(满分36分)
程序代码:
#include <stdio.h>
int main()
{
int mat[3][3]={{12,4,35},{9,27,16},{41,7,22}};
int *p=&mat[0][0],max,min,i,j;
int diag1[3],diag2[3],cnt1=0,cnt2=0;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++,p++)
{
if(i==j)
diag1[cnt1++] = *p;
if(i+j==2)
diag2[cnt2++] = *p;
}
}
max=diag1[0],min=diag1[0];
for(i=0;i<3;i++)
{
if(diag1[i]>max) max=diag1[i];
if(diag1[i]<min) min=diag1[i];
}
printf("主对角线最大值:%d,最小值:%d
",max,min);
max=diag2[0],min=diag2[0];
for(i=0;i<3;i++)
{
if(diag2[i]>max) max=diag2[i];
if(diag2[i]<min) min=diag2[i];
}
printf("副对角线最大值:%d,最小值:%d",max,min);
return 0;
}
5.综合素质(15分)
(1)考生全程无不当操作(如随意插拔设备、误触系统设置等)且能正确使用考试系统功能(如提交答案、标记题目等);5分
(2)按题目要求正确保存相关素材,规范答题;5分
(3)考生全程无任何违规行为(如交头接耳、携带违禁物品、偷看他人答案等);5分
【根据考生实际答题情况,即使无任何作答,只要参加考试并登录考试系统即有30分,因此大胆猜测软件专业技能考试数据库和C语言各有15分综合素质分,仅提供参考。阅卷时需按照卷面满分各科100分进行阅卷,阅卷结束后,根据需要自行补充30分综合素质分】
学科网(北京)股份有限公司原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
山东省春季高考技能测试
C语言程序设计第十九套(原卷版)
第 一 题 程序填空题
请考生将【序号】处所缺的单行程序代码填写到考试系统中对应的答题区域,实现程序功能。
程序功能:输入无空格字符串,遍历字符数组统计大写 A-Z 数量,输出统计结果
Program1.c代码如下:
#include <stdio.h>
int main()
{
char s[25];
int k=0,upper=0;
printf("输入一串字符:");
scanf("%s",s);
while(s[k] != 【1】)
{
if(s[k]>='A' && s[k]<='Z')
upper++;
【2】;
}
printf("大写字母数量:%d",【3】);
return 【4】;
}
答案:(满分16分)
【1】
【2】
【3】
【4】
第 二 题 程序填空题
请考生将【序号】处所缺的单行程序代码填写到考试系统中对应的答题区域,实现程序功能。
程序功能:数组首尾指针交换数据,补充单行赋值代码
Program2.c代码如下:
#include <stdio.h>
int main()
{
int arr[8]={13,25,7,41,19,32,6,28};
int *pStart=arr,*pEnd=arr+7,temp;
temp = *pStart;
【1】
*pEnd = temp;
printf("交换后首元素:%d",*pStart);
return 0;
}
答案:(满分20分)
【1】
第 三 题 编程题
程序功能:自定义函数 monthCard 计算游泳馆月卡费用,按办理时长分段收费:1. 办理≤2 个月:每月 69 元;2. 2<时长≤6 个月:前 2 个月 69 元 / 月,超出部分 55 元 / 月;3. 时长>6 个月:2*69 + 4*55,超出 6 个月部分 42 元 / 月。输入办理月数,调用函数输出总费用,保留两位小数。
答案:(满分28分)
程序代码:
第 四 题 编程题
请考生将编写的程序代码填写到考试系统中对应的答题区域。
程序功能:定义 3 行 3 列二维数组,使用指针遍历全部元素;分别找出主对角线、副对角线数值,计算两条对角线最大值、最小值并全部输出,全程只用指针访问元素。
答案:(满分36分)
程序代码:
学科网(北京)股份有限公司
学科网(北京)股份有限公司原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
#include <stdio.h>
int main()
{
int arr[8]={13,25,7,41,19,32,6,28};
int *pStart=arr,*pEnd=arr+7,temp;
temp = *pStart;
¡¾1¡¿
*pEnd = temp;
printf("½»»»ºóÊ×ÔªËØ£º%d",*pStart);
return 0;
}
#include <stdio.h>
int main()
{
char s[25];
int k=0,upper=0;
printf("输入一串字符:");
scanf("%s",s);
while(s[k] != 【1】)
{
if(s[k]>='A' && s[k]<='Z')
upper++;
【2】;
}
printf("大写字母数量:%d",【3】);
return 【4】;
}
$