2010-2011 C语言程序试题及答案
int n; double s; printf(\ scanf(\ s=fun(n);
printf(\}
23、请编一个函数fun(int *a, int n, int *odd, int *even),函数的功能是分别求出数组中所有奇数之和以及所有偶数之和。形参n给出数组a中数据的个数;利用指针odd返回奇数之和,利用指针even返回偶数之和。
例如:数组中的值依次为: 1,9,2,3,11,6;则利用指针odd返回奇数之和24;利用指针even 返回偶数之和8。
#include
fun ( int *a, int n, int *odd, int *even ) {
int i,sum_odd=0,sum_even=0; for(i=0;i sum_odd+=a[i]; *odd=sum_odd; *even=sum_even; } 第 21 页 共 46 页 2010-2011 C语言程序试题及答案 void main( ) { int a[N]={1,9,2,3,11,6}, i, n=6, odd, even; printf ( \ for ( i = 0; i < n; i ++ ) printf ( \*(a+i) ); printf(\ fun ( a, n, &odd, &even ); printf ( \ printf ( \sum of even numbers: %d\\n\even ); } 24、编写计算三角形面积的程序,注意:将计算面积定义成函数float fun(int a,int b,int c)(a,b,c为三角形的三条边,返回三角形的面积),在主函数中调用fun #include float fun(int a,int b,int c) { float p; p=(a+b+c)/2; return sqrt(p*(p-a)*(p-b)*(p-c)); } void main() { 第 22 页 共 46 页 2010-2011 C语言程序试题及答案 int a,b,c; printf(“请输入三角形三条边:\\n”); scanf(“%d%d%d”,&a,&b,&d); if(a+b>c && b+c>a && a+c>b) printf(“三角形面积为:%.2f”,fun(a,b,c)); else printf(“无法构成三角形”); } 25、编写程序,求E=1+1/1!+1/2!+……+1/n!,要求最后一项的值小于10 #include double m=1.0; int i=1; double p=1.0; do{ m=m+1.0/p; i++; p=p*i; } while(1.0/p>=1E-4); return m; } void main() 第 23 页 共 46 页 -4 2010-2011 C语言程序试题及答案 { int n; double s; printf(\ s=fun(n); printf(\} 26、计算并输出给定数组(长度为9)中每相邻两个元素之平均值的平方根之和。 例如,给定数组中的9个元素依次为12.0、34.0、4.0、23.0、34.0、45.0、18.0、3.0、11.0,输出应为:s=35.951014。 #include int i ; double avg=0.0,sum=0.0; for (i=0;i<8;i++) { avg=(x[i]+x[i+1])/2; sum+=sqrt(avg); } return sum; } void main() { 第 24 页 共 46 页