您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 创业/孵化 > C语言不适合用技巧的编程题
1.编写函数fun,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。1121231234121233535735793521nn…………程序运行后,若输入精度0.0005,则程序应输出为3.14…。doublefun(doubleeps){doubles=1.0,s1=1.0;intn=1;while(s1=eps)/*当某项大于精度要求时,继续求下一项*/{s1=s1*n/(2*n+1);/*求多项式的每一项*/s=s+s1;/*求和*/n++;}return2*s;}2.编写函数fun,其功能是计算:ln(1)ln(2)ln(3)ln()sm……s作为函数值返回。在C语言中可调用log(n)函数求ln(n)。log函数的引用说明为:doublelog(doublex)。例如,若m的值为20,则fun函数值为6.506583。doublefun(intm){inti;doubles=0.0;for(i=1;i=m;i++)s=s+log(i);/*计算s=ln(1)+ln(2)+ln(3)+…+ln(m)*/returnsqrt(s);/*对s求平方根并返回*/}3.编写函数fun,其功能是:根据以下公式计算s,并计算结果作为函数值返回,n通过形参传入。111112123123s……n例如:若n的值为11时,函数的值为1.833333floatfun(intn){inti,s1=0;floats=0.0;for(i=1;i=n;i++){s1=s1+i;/*求每一项的分母*/s=s+1.0/s1;/*求多项式的值*/}returns;}4.请编写函数fun,其功能是计算并输出如下多项式的值。Sn=1+1/1!+1/2!+1/3!+1/4!+…+1/n!例如,若主函数从键盘给n输入15,则输出为S=2.718282。doublefun(intn){doublet,sn=1.0;inti,j;for(i=1;i=n;i++){t=1.0;for(j=1;j=i;j++)t*=j;sn+=1.0/t;}returnsn;}5.请编写函数fun,其功能是:计算并输出当x0.97时,如下多项式的值,直到|Sn-Sn-1|0.000001为止。230.5(0.51)0.5(0.51)(0.52)0.5(0.51)(0.52)(0.51)10.52!3!!nnnSxxxxn例如,若主函数从键盘给x输入0.21后,则输出为S=1.100000。doublefun(doublex){doubles1=1.0,p=1.0,sum=0.0,s0,t=1.0;intn=1;do{s0=s1;sum+=s0;t*=n;p*=(0.5-n+1)*x;s1=p/t;n++;}while(fabs(s1-s0)=1e-6);returnsum;}6.请编写函数fun,其功能是:计算并输出给定10个数的方差。1020.51[(('))/10]xxSXX其中:101'()/10xxXX例如,给定的10个数为95.0、89.0、76.0、65.0、88.0、72.0、85.0、81.0、90.0、56.0,则输出为S=11.730729doublefun(doublex[10]){doublex1=0.0,s=0.0;inti;for(i=0;i10;i++)x1=x1+x[i];x1=x1/10;/*求10个数的平均值*/for(i=0;i10;i++)s=s+(x[i]-x1)*(x[i]-x1);returnsqrt(s/10);/*求10个数的方差*/}7.请编写函数fun,其功能是:计算并输出给定数组(长度为9)中每相邻两个元素的平均值的平方根之和。例如,若给定数组中的9个元素依次为12.0、34.0、4.0、23.0、34.0、45.0、18.0、3.0、11.0,则输出应为S=35.951014。doublefun(doublex[9]){doublesum=0.0;inti,j=1;for(i=0;i9;i++)if(j=8){sum+=sqrt((x[i]+x[i+1])/2.0);j++;/*相邻两个元素之平均值的平方根之和*/}returnsum;}8.请编写函数fun,其功能是:计算并输出下列多项式的值,S=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)-1/2n)例如,若主函数从键盘给n输入8后,则输出为S=0.662872。doublefun(intn){inti;doubles=0.0;for(i=1;i=n;i++)s=s+(1.0/(2*i-1)-1.0/(2*i));/*计算S=(1-1/2)+(1/3-1/4)+(1/(2n-1)-1/2n)*/returns;}9.请编写函数fun,其功能是:计算并输出下列多项式的值。11111212312350S例如,在主函数中从键盘为n输入50后,输出为S=1.718282。doublefun(intn){doublesum=0,tmp=1;inti;for(i=1;i=n;i++){tmp=tmp*i;sum+=1.0/tmp;}returnsum;}10.请编写函数fun,该函数的功能是:计算并输出n(包括n)以内所有能被5或9整除的自然数的倒数之和。例如,若主函数中从键盘给n输入20后,则输出为S=0.583333。doublefun(intn){inti;doublesum=0.0;for(i=1;i=n;i++)if(i%5==0||i%9==0)sum+=1.0/i;returnsum;}11.请编写函数fun,该函数的功能是:计算并输出S=1+(1+20.5)+(1+20.5+30.5)+…+(1+20.5+30.5+…+n0.5)的值。例如,若主函数从键盘给n输入20后,则输出为S=534.188884。doublefun(intn){inti;doubles=0.0,s1=0.0;for(i=1;i=n;i++){s1=s1+pow(i,0.5);/*求每一项*/s=s+s1;/*按公式求出s*/}returns;}12.编写函数fun,其功能是:根据以下公式求P的值,结果由函数值带回。m与n为两个正整数且要求mn。!!()!mpnmn例如:m=12,n=8时,运行结果为495.000000longjc(intm){longs=1;inti;for(i=1;i=m;i++)s=s*i;returns;}floatfun(intm,intn){floatp;p=1.0*jc(m)/jc(n)/jc(m-n);returnp;}13.请编写函数fun,其功能是:计算并输出下列多项式的值。S=1/(1×2)+1/(2×3)+…+1/(n×(n+1))例如,当n=10时,函数值为0.909091。doublefun(intn){inti;doubles=0.0;for(i=1;i=n;i++)s=s+1.0/(i*(i+1));/*求级数的和*/returns;}14.请编写函数fun,它的功能是计算下列级数和,和值由函数值返回。S=1+x+x2/2!+x3/3!+…+xn/n!例如,当n=10,x=0.3时,函数值为1.349859。doublefun(doublex,intn){inti;doubles=1.0,s1=1.0;for(i=1;i=n;i++){s1=s1*i;/*各项中的阶乘*/s=s+pow(x,i)/s1;/*按公式求出*/}returns;}15.编写函数fun,其功能是:求出1~1000之间能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。voidfun(int*a,int*n){inti,j=0;for(i=1;i=1000;i++)/*求1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数,并放入数组a中*/if((i%7==0||i%11==0)&&i%77!=0)a[j++]=i;*n=j;}16.编写函数fun,它的功能是:求小于形参n同时能被3与7整除的所有自然数之和的平方根,并作为函数值返回。例如,若n为1000时,程序输出应为:s=153.909064。doublefun(intn){doublesum=0.0;inti;for(i=21;i=n;i++)if((i%3==0)&&(i%7==0))sum+=i;returnsqrt(sum);}17.编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。例如,若输入17,则应输出:46891012141516。voidfun(intm,int*k,intxx[]){inti,j,n=0;for(i=4;im;i++)/*找出大于1小于整数m的非素数*/{for(j=2;ji;j++)if(i%j==0)break;if(ji)xx[n++]=i;}*k=n;/*返回非素数的个数*/}18.请编写函数fun,其功能是:计算并输出3~n之间所有素数的平方根之和。例如,若主函数从键盘给n输入100后,则输出为sum=148.874270。doublefun(intn){intm,k,i;doubles=0.0;for(m=3;m=n;m++){k=sqrt(m);for(i=2;i=k;i++)if(m%i==0)break;if(i=k+1)s+=sqrt(m);}returns;}19.编写函数intfun(intlim,intaa[MAX]),其功能是求出小于或等于lim的所有素数并放在aa数组中,并返回所求出的素数的个数。intfun(intlim,intaa[MAX]){inti,j,k=0;for(i=2;i=lim;i++)/*求出小于或等于lim的全部素数*/{for(j=2;ji;j++)if(i%j==0)break;if(j=i)aa[k++]=i;/*将求出的素数放入数组aa中*/}returnk;/*返回所求出的素数的个数*/}20.冒泡法从小到大排序for(i=0;in-1;i++){for(j=0;jn-i-1;j++){if(array[j+1]array[j]){t=array[j+1];array[j+1]=array[j];array[j]=t;}}}21.编写函数fun,其功能是:求Fibonacci数列中大于t的最小的数,结果由函数返回。Fibonacci数列F(n)的定义为:F(0)=0,F(1)=1F(n)=F(n-1)+F(n-2)例如,当t=1000时,函数值为1597。intfun(intt){intf0=0,f1=1,f;do{f=f0+f1;f0=f1;f1=f;}while(ft);returnf;}10个学时,考前公共基础二级c语言题型:100分40分选择题:40个其中,1-10题公共基础8分以上11-40题c语言22分以上60分操作题:3个程序填空题:18分,3个空12分以上程序修改题:18分,2-3行错误18分程序设计题:24分0-24分110个学时,考前公共基础二级c语言题型:100分40分选择题:40个其中,1-10题公共基础8分以上11-40题c语言22分以上60分操作题:3个程序填空题:18分,3个空12分以上程序修改题:18分,2-3行错误18分程序设计题:24分0-24分c语言的核心:地址和值第一章c语言概述考点1.c语言程序的构成语法严谨,使用灵活的语言c语言源程序由函数构成函数:和数学的函数不同程序段函数又分为两部分:函数头:英文单词(参数)函数体:函数头后面的大括号里的内容{}main(){inta=
本文标题:C语言不适合用技巧的编程题
链接地址:https://www.777doc.com/doc-2909133 .html