文档介绍:浙江师范大学《计算机应用(理)—C语言程序设计》考试卷
(2011—2012学年第二学期)
考试类别: 闭卷使用学生: 公共课理科各专业学生
考试时间: 120 分钟出卷时间: 2012 年 5 月 15 日
说明:考生应将全部答案标清题号写在答题纸上,否则作无效处理。
程序填空题(每小空2分,共32分)
试题1、以下程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。
#include<>
void main ()
{ float x, amax, amin;
scanf(“%f”, &x);
amax=x; amin=x;
while( x>=0 )
{ if ( x>amax ) amax=x ;
else if (x<amin) amin=x ;
scanf("%f", &x) ;
}
printf(“\namax=%f\namin=%f\n”, amax, amin);
}
试题2、从键盘输入一批以-1结束的整数,将其中的奇数以”%3d”。
#include <>
#include <>
void main()
{ int x;
FILE *fp ;//注意FILE为大写
if((fp=fopen("","w"))==NULL) {
printf("不能打开文件");
exit(0);
}
scanf("%d", &x);
while( x!=-1 ){
if(x%2!=0) fprintf(fp, “%3d”,x) ;
scanf("%d", &x) ;
}
fclose(fp) ;
}
试题3、输入100个整数,将其中的前20个数从小到大排序,然后输出这100个数。
# include ""
void sort( int a[], int n ) //注意形参是有类型的
{ int i, k, m, t;
for(i = 0; i < n-1; i++){
k=i;
for(m=i+1; m<n; m++)
if( a[i] > a[m] ) k=m;
t=a[i]; a[i]=a[k]; a[k]=t;
}
}
void main( )
{
int k, a[100];
for(k=0; k<100; k++)
scanf("%d", &a[k]);
sort(a,20) ;//注意题目是20个
for(k=0; k<100; k++)
printf("%d ", a[k]);
}
为了便于实验,在程序中已将100改为10,20改为5。这样程序对于输入超过10个数,只接收10个数,而且对其前面的5个数按从小到大排序。
试题4、验证哥哥德巴赫猜想:任何一个大于6的偶数均可表示为两个素数之和。例如6=3+3,8=3+5,…,18=7+11。将6到100之间的每个偶数都表示成两个素数之和。函数prime(m)用于判断m是否为素数。素数就是只能被1和自身整除的正整数