第 PAGE 2 页 共 NUMPAGES 3 页
运城学院数学与信息技术学院
2017—2018学年第二学期期末考试
程序设计基础 试题(B)参考答案及评分细则
适用范围:计算机科学与技术专业1701\1702班
网络工程专业1703\1704\1705班
信息管理与信息系统专业1706班
数字媒体技术专业1707\1708班
通信工程专业1709\17010班
命题人: 南丽丽
审核人:
一、选择题(每题2分,共20分)
1、B 2、A 3、C 4、C 5、C
6、A 7、D 8、B 9、D 10、A
二、填空题(每空1分,共20分)
1、 函数 分号(;)
2、 .C .OBJ .EXE
3、 4 8
4、 60
5、 顺序 选择 循环
6、 1
7、 (x>20&&x<30)|| (x
8、 0
9、 1 3 3
10、9 0
11、0
三、程序分析题(每题5分,共20分)
1、运行结果是: 6 (依据分析情况酌情减分) 。
2、运行结果是: a=2,b=1(依据分析情况酌情减分) 。
1、运行结果是: china (依据分析情况酌情减分) 。
2、运行结果是: gnijieb (依据分析情况酌情减分) 。
四、编程题(每题10分,共40分)
1、编程:输入一个整数,判断是否为素数。
#include “stdio.h” \\ 1分
int main( ) \\ 1分
{ int n,i; \\ 1分
scanf(“%d”,&n); \\ 1分
for(i=2;i
{
if(n%i==0) break; \\ 2分
}
if(i>=n)
printf(”yes”); \\ 1分
else
printf(“no”); \\ 1分
}
2、编程:打印Fibonacci数列的前20个数。
main( )
{ int i,n,f,f1,f2,f3; \\ 1分
printf(“enter n:”);
scanf(“%d”,&n); \\ 1分
for(i=1;i<=n;i++) \\ 1分
{ if(i<4)
f=f1=f2=f3=1; \\ 1分
else
{ f=f1+f3; \\ 2分
f1=f2; \\ 1分
f2=f3; \\ 1分
f3=f; \\ 1分
}
}
printf(“i=%2d,n=%3d\n”,n,f); \\ 1分
}
3、编程:用冒泡法对n个整数数从小到大排序。
main( )
{
void bubble(int a[],int n); \\ 1分
void print(int a[],int n);
int a[100],n,i; \\ 1分
printf("enter n:");
scanf("%d",&n); \\ 1分
for(i=0;i
scanf("%d",&a[i]); \\ 1分
bubble(a,n); \\ 1分
print(a,n);
}
void bubble(int a[],int n)
{
int i,j,t,temp;
for(i=1;i<=n-1;i++) \\ 1分
{t=n-i;
for(j=0;j<=t-1;j++) \\ 1分
if(a[j]>a[j+1]) \\ 1分
{temp=a[j];
a[j]=a[j+1];
a[j+1]=temp; \\ 1分
}
}
return;
}
void print(int a[],int n) \\ 1分
{int i;
printf("\nthe sorted numbers:\n");
for(i=0;i
printf("%d\t",a[i]);
return;
}
4、编程:有3个学生,每