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 页