《二零一六年上海市高等学校计算机等级考试试卷》.doc
文本预览下载声明
2012年上海市高等学校计算机等级考试试卷
二级 C语言程序设计
B卷(二)编程题(2小题,共35分,第1小题15分,第2小题20分)
1.编程题1
编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括B_4_1.C文件和B_4_1.EXE文件)保存到目录C:\KS\中。
程序功能:输入一个字符串,输出三角形样式图案,每行包含行号与子串,格式参见示例。
运行示例:
输入:
London
输出:
0:London
1:ondon
2:ndon
3:don
4:on
5:n
参考答案:
#include stdio.h
int main(void)
{
char s[80];
int i;
gets(s);
for (i=0;s[i]!=\0;i++)
{
printf(%d:,i);
puts(s+i);
}
return 0;
}
测试数据:
输出结果:
1:hanghai
2:anghai
3:nghai
4:ghai
5:hai
6:ai
7:i
2.编程题2
编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括B_4_2.C文件和B_4_2.EXE文件)保存到目录C:\KS\中。
背景说明:在2012伦敦奥运会上,中国选手陈若琳获得跳水女子10米跳台冠军,中国代表团夏季奥运会第200枚金牌,下图是决赛中完成第2跳之后的裁判打分及跳水得分。
规则说明:共7个裁判对单人跳水进行打分,打分范围为0.0至10.0,且为0.5整数倍。
去掉2个最高分,去掉2个最低分,保留3个中间有效分;
3个有效分的之和乘难度系数为跳水得分。
以第2跳为例,得分=(9.0+8.5+9.0)*3.2=84.80。
程序功能:输入某轮次跳水的难度系数与7个裁判打分,输出该轮次跳水的得分,格式参见示例。
运行示例:
输入:
3.0 10.0 9.5 9.0 9.5 9.5 9.0 9.5
输出:
85.50
参考答案:
#include stdio.h
int main(void)
{
int j,k;
float a[7],dif,score,sum,t;
sum=0;
scanf(%f,dif);
for (j=0;j7;j++)
scanf(%f,a[j]);
for (j=0;j7-1;j++)
for (k=0;k7-1-j;k++)
if (a[k]a[k+1])
{
t=a[k];
a[k]=a[k+1];
a[k+1]=t;
}
score=dif*(a[2]+a[3]+a[4]);
printf(%.2f\n,score);
return 0;
}
测试数据:
输出结果:
C卷(二)编程题(2小题,共35分,第1小题15分,第2小题20分)
1.编程题1
编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括C_4_1.C文件和C_4_1.EXE文件)保存到目录C:\KS\中。
程序功能:输入一个字符串,输出三角形样式图案,每行包含行号与子串,格式参见示例。
运行示例:
输入:
Beijing
输出:
0:Beijing
1:Beijin
2:Beiji
3:Beij
4:Bei
5:Be
6:B
参考答案:
#include stdio.h
#include string.h
int main(void)
{
char s[80];
int i,n;
gets(s);
n=strlen(s);
for (i=0;in;i++)
{
printf(%d:,i);
s[n-i]=\0;
puts(s);
}
return 0;
}
测试数据: 输入:Nanjing
输出: 0:Nanjing
1:Nanjin
2:Nanji
3:Nanj
4:Nan
5:Na
6:N
2.编程题2
编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括C_4_2.C文件和C_4_2.EXE文件)保存到目录C:\KS\中。
背景说明:在2012伦敦奥运会上,金牌数前10名的国家按名字排序如图所示,以此画出金牌数的直方图,其中最小金牌数对应1个#号,最多金牌数对应10个#号。
程序功能:按示例编程实现以下功能:
输入10个整数(存于整数数组a中,下标0至9)
计算并输出最小值(记为min)
计算并输出最大值(记为max)
按以下公式计算
显示全部