#include
四、编程题(24分)
1.(10分)完成以下程序中的函数fun,该函数的数学表达式为:
?sinx(x?10)?y??x(5?x?10)
?xx?5?#include \#include
void main(void){
printf(\ printf(\ printf(\ }
2.(14分)完成下列程序中的函数BubbleSort(),函数的功能是采用冒泡排序算法,实现对数组a存储的n个元素中的前5个元素按升序排序,其它元素不变。该程序运行结果为:
-5 -2 -1 3 4 6 7 -8 9 0 11 -12 13 14 -15 #include
#define NUM 5 /* 需要排序的前NUM个元素 */
void BubbleSort(int a[],int n){ /* 对存储在数组a中的n个元素中的前NUM个元素按升序
排序,其他元素不变。设n>NUM */
}
void main(void){
?
}
int i, a[15]={-1,-2,3,4,-5,6,7,-8,9,0,11,-12,13,14,-15}; int size=sizeof(a)/sizeof(int); BubbleSort(a,size);
for(i=0;i 华侨大学2010-2011学年第1学期《C语言程序设计》 重修班试卷 参考答案 一、选择题(40分,每小题2 分) 1-5 B C B C A 16-20 D C D A D 6-10 D D C A A 11-15 C D B A C 二、填空题(18分,每小题9分) ( 1 )1或1L或1l ( 4 )char *p1 ( 2 )result= result *i 或result *=i ( 4 )*p2 ( 3 )%ld或%ld\\n ( 6 )str1或&str1[0] 三、改错题(18分,每小题9分) 1. i 2., printf(\改为:printf(\\,j<=2*i改为 :j<=2*i-1,ch--;改为:ch++ 三、编程题(24分) 1.(10分) double fun(float x){ double y; if(x>=10) y=sin(x); else if(x>5) y=sqrt(x); else y=fabs(x); return y; } 2.(14分) void BubbleSort(int a[],int n){ /* 对存储于数组a的n个元素中的前NUM个元素用冒泡算 法进行升序排序,其他元素不变。设n>NUM */ int pass,i,t; for(pass=1;pass<=NUM-1;pass++) } for(i=0;i<=NUM-pass-1;i++) if(a[i]>a[i+1]) t=a[i],a[i]=a[i+1],a[i+1]=t;