2012-2013第一学期考试试卷A答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012-2013学年第一学期《程序设计基础》期末试卷(A)
一、阅读程序,写出程序的执行结果(每小题5分,共20分)
1. a=5,b=6
2. sum=10
3. 2 3 4 4 5 6
4. a=10,b=20
二、程序填空题,请根据试题描述在下面各题的空白处填入恰当的语句使程序可以完成指定的功能。(每空4分,20共)
1. 10-i
2. a[i]>x
3. to[i]=’\0’; copy_string(str2,str1);
4. 4*i+j
三、编程题参考答案:(共7题,共60分)
1.输入两个整数a和b,如果a≥b则求出二者之差并输出,否则求出二者之和并输出,请编程实现。(6分)
#include
void main()
{
int a,b,c;
scanf(“%d%d”,&a,&b);
if(a>=b)
{
c=a-b;
printf(“%d-%d=%d\n”,a,b,c);
}
else
{
c=a+b;
printf(“%d+%d=%d\n”,a,b,c);
}
}
2.输入一个整数,如果该整数的值为1,2,3,4,5则分别输出A,B,C,D,E,如果不是1至5的数据,则输出“ERROR”,要求用switch语句实现,请编程。(6分)
#include
void main()
{
int a;
scanf(“%d”,&a);
switch(a)
{
case 1:printf(“A\n”);break;
case 2:printf(“B\n”);break;
case 3:printf(“C\n”);break;
case 4:printf(“D\n”);break;
case 5:printf(“E\n”);break;
default:printf(“ERROR\n”);
}
}
3.设a是一个长度为10的整型数组,请输入10个整数并求出偶数下标的数据的和,请编程。(7分)
#include
void main()
{
int a[10],i,sum;
for(i=0;i<10;i++)
scanf(“%d”,&a[i]);
sum=0;
for(i=0;i<10;i=i+2)
sum+=a[i];
printf(“sum=%d\n”,sum);
}
4.有main函数如下,请编写函数完成求两个整数的和的功能,并写出main函数中的函数调用。(7分)
#include
int f(int x,int y)//求两个整数之和
{
return x+y;
}
void main()
{
int a,b,sum;
scanf(“%d%d”,&a,&b);
sum=f(a,b); ;
printf(“sum=%d\n”,sum);
}
5.请编程求出从100开始的前10个素数的和。(10分)
#include
void main()
{
int m,sum=0,i,count=0;
m=100;
while(count<10)
{
for(i=2;i if(m%i==0) break; if(i==m) { sum+=m; count++; } m++; } printf(“sum=%d\n”,sum); } 6.设a是一个长度为10的整型数组,请编程对其奇下标位置的值排序,偶下标位置的值不变化,排序方法用冒泡排序,要求排序功能用函数实现。(12分) #include void sort(int x[],int n) { int i,j,t; for(i=0;i for(j=1;j if(x[j]>x[j+2]) { t=x[j]; x[j]=x[j+2]; x[j+2]=t; } } void main() { int a[10],i; for(i=0;i<10;i++) scanf(“%d”,&a[i]); sort(a,10); for(i=0;i<10;i++) printf("%5d",a[i]); printf("\n"); }7.请编写程序将两个按升序有序的数组合并成一个按升序有序的数组,合并过程中允许出现相同的元素,例如a={1,4,8,12,20},b={2,4,10,12,30},则合并后生成的新数组c中的元素为c={1,2,4,4,8,10,12,12,20,30},合并时可以使用下标变量i、j和k分别代表数组a、b及数组c中的元素的下标,如a[i] #include void main() { int a[5]={1,4,8,12,20},b[5]={2,4,10,12,30}; int c[10],i,j,k; i=j=k=0;