c语言上机试题1数学计算Word下载.docx

上传人:b****5 文档编号:19511171 上传时间:2023-01-07 格式:DOCX 页数:21 大小:360.18KB
下载 相关 举报
c语言上机试题1数学计算Word下载.docx_第1页
第1页 / 共21页
c语言上机试题1数学计算Word下载.docx_第2页
第2页 / 共21页
c语言上机试题1数学计算Word下载.docx_第3页
第3页 / 共21页
c语言上机试题1数学计算Word下载.docx_第4页
第4页 / 共21页
c语言上机试题1数学计算Word下载.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

c语言上机试题1数学计算Word下载.docx

《c语言上机试题1数学计算Word下载.docx》由会员分享,可在线阅读,更多相关《c语言上机试题1数学计算Word下载.docx(21页珍藏版)》请在冰豆网上搜索。

c语言上机试题1数学计算Word下载.docx

for(i=0;

i<

20;

i++){

fscanf(rf,"

a);

fprintf(wf,"

%f\n"

fun(a));

}

fclose(rf);

fclose(wf);

 

答案1:

longi=h*1000;

if(i%10<

5)

return(i/10)/100.0;

else

return(i/10+1)/100.0;

答案2:

longtemp=a*1000,temp2;

temp2=temp/10;

temp=temp%10;

floatresult;

//被除数定义成float

if(temp>

4)

result=temp2+1;

result=temp2;

returnresult/100;

1.2根据公式求圆周率

#include<

math.h>

doublefun(doubleeps){

}

main(){

doublex;

printf("

Inputeps:

"

scanf("

%lf"

&

x);

printf("

\neps=%lf,PI=%lf\n"

x,fun(x));

NONO();

NONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。

*/

FILE*fp,*wf;

doublex;

fp=fopen("

c:

\\test\\in.dat"

wf=fopen("

\\test\\out.dat"

for(i=0;

10;

i++){

fscanf(fp,"

x);

%lf\n"

fun(x));

fclose(fp);

doublei=1,a=1,b=1,c=1,s=0;

while(c>

=eps){

s+=c;

a*=i;

b*=2*i+1;

c=a/b;

i++;

returns*2;

doublen=1.0,m,s1,s2;

m=2*n+1;

s1=n;

s2=m;

doubletemp=s1/s2,sum=0.0;

while(temp>

=eps){

sum+=temp;

n+=1;

m+=2;

s1*=n;

s2*=m;

temp=s1/s2;

return(sum+1)*2;

1.3求阶乘

floatfun(intm,intn){

intmain(void)/*主函数*/{

P=%f\n"

fun(12,8));

//NONO();

intNONO(void){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。

inti,m,n;

floats;

fscanf(fp,"

%d,%d"

m,&

n);

s=fun(m,n);

s);

答案:

floatresult;

intx,y,z,o=1,p=1,q=1;

for(x=1;

x<

=m;

x++){

o=o*x;

for(y=1;

y<

=n;

y++){

p=p*y;

for(z=1;

z<

=m-n;

z++){

q=q*z;

result=o/(p*q);

returnresult;

尝试建立一个专门求阶乘的函数。

1.4求公式

doublefun(intn){

fun(10));

inti,n;

doubles;

%d"

s=fun(n);

fprintf(wf,"

fclose(fp);

inti;

doublem,sum=0.0;

for(i=1;

i<

i++){

m=i*(i+1);

sum+=1/m;

returnsum;

1.5整数分解

函数fun的功能是:

将a、b中的两个两位正整数合并形成一个新的整数放在c中。

合并的方式是:

将a中的十位和个位数依次放在变量c的十位和千位上,b中的十位和个位数依次放在变量c的个位和百位上。

例如,当a=45,b=12。

调用该函数后,c=5241。

部分源程序存在文件PROG1.C中。

数据文件IN.DAT中的数据不得修改。

voidNONO(void);

longfun(inta,intb){

inta,b;

longc;

Inputa,b:

scanf("

%d%d"

a,&

b);

c=fun(a,b);

Theresultis:

%ld\n"

c);

return0;

voidNONO(void){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。

inti,a,b;

longc;

./44/in.dat"

./44/out.dat"

b);

fun(a,b,&

c);

a=%d,b=%d,c=%ld\n"

a,b,c);

longi1=(a%10)*1000;

aa=%d,bb=%d"

b%10,b/10);

longi2=(b%10)*100;

longi3=a/10*10;

longi4=b/10;

//returna%10*1000+b%10*100+a/10*10+b/10;

returni1+i2+i3+i4;

1.6数学公式

/************found************/

fun(intm){

doubley=0,d;

inti;

for(i=100;

i<

m;

i+=100){

d=(double)i*(double)i;

y+=1.0/d;

return(y);

intn=2000;

printf("

\nTheresultis%lf\n"

fun(n));

doublefun(intm){

i+=100){

1.7数学公式

修正:

当k=1时,第一项为4/1*3

floatfun(intk){

main(){

fun(10));

intn;

floats,w,p,q;

n=1;

s=1.0;

while(n<

=k){

w=2.0*n;

p=w-1.0;

q=w+1.0;

s=s*w*w/p/q;

n++;

returns;

改错:

floatsum=1.0;

for(i=2;

=k;

sum*=(2*i*2*i)/((2*i+1)*(2*i-1));

//注意数据类型

1.8最小公倍数

给定程序MODI1.C中函数fun的功能是:

求三个数的最小公倍数。

例如,给主函数中的变量x1、x2、x3分别输入15112,则输出结果应当是:

330。

请改正程序中的错误,使它能得出正确结果。

注意:

不要改动main函数,不得增行或删行,也不得更改程序的结构。

/************found************/

fun(intx,y,z){

intj,t,n,m;

j=1;

t=j%x;

m=j%y;

n=j%z;

while(t!

=0||m!

=0||n!

=0){

j=j+1;

m=j%y;

returni;

intx1,x2,x3,j;

Inputx1x2x3:

%d%d%d"

x1,&

x2,&

x3);

x1=%d,x2=%d,x3=%d\n"

x1,x2,x3);

j=fun(x1,x2,x3);

Theminimalcommonmultipleis:

%d\n"

j);

intfun(intx,inty,intz){

returnj;

编程:

//求三个数的最大数

intmax(intx,inty,intz){

//求三个数最小公倍数

intfun(intx,inty,intz){

inttemp;

if(x>

y)temp=x;

elsetemp=y;

if(temp>

z)returntemp;

elsereturnz;

inttemp=max(x,y,z);

intresult=temp;

while

(1){

if(result%x==0&

&

result%y==0&

result%z==0)returnresult;

result=result+temp;

1.9n!

改错

给定程序MODI1.C中函数fun的功能是:

计算n!

例如,给n输入5,则输出120.000000。

请改正程序中的错误,使程序能输出正确的结果。

不要改动main函数,不得增行或删行,也不得更改程序的结构!

doublefun(intn){

doubleresult=1.0;

ifn==0return1.0;

while(n>

1&

n<

170)

result*=n--

returnresult;

intn;

InputN:

\n\n%d!

=%lf\n\n"

n,fun(n));

if(n==0)return1.0;

result*=n--;

1.10数学公式

doublefun(intn){

intn=5;

\nThevalueoffunctionis:

%lf\n"

fun(n));

inta,b,c,k;

doubles;

s=0.0;

a=2;

b=1;

for(k=1;

k<

=n;

k++){

s=s+(double)a/b;

c=a;

a=a+b;

b=c;

1.11数列

已知一个数列从第0项开始的前三项分别为0,0,1,以后的各项都是其相邻的前三项之和。

给定程序MODI1.C中函数fun的功能是:

计算并输出该数列前n项的平方根之和。

n的值通过形参传入。

例如,当n=10时,程序的输出结果应为:

23.197745。

InputN="

n);

fun(n));

doublesum,s0,s1,s2,s;

intk;

sum=1.0;

if(n<

=2)sum=0.0;

s0=0.0;

s1=0.0;

s2=1.0;

for(k=4;

k++){

s=s0+s1+s2;

sum+=sqrt(s);

s0=s1;

s1=s2;

s2=s;

returnsum;

1.12数学公式

intfun(intn){

floatA=1;

for(i=2;

i<

n;

i++)A=1.0/(1+A);

returnA;

\nPleaseentern:

n);

A%d=%f\n"

n,fun(n));

floatfun(intn){

if(2<

=n)return1.0/(1+fun(n-1));

//递归

或:

i++)A=1.0/(1+A);

//另一种

1.13数学公式

根据整型形参m的值,计算如下公式的值。

doubley=1.0;

/**************found**************/

for(i=2;

m;

i++)

y-=1/(i*i);

return(y);

intn=5;

for(i=2;

i++)

y-=1.0/(i*i);

1.14数学公式

doublefun(doubleeps){

doubles,t;

intn=1;

s=0.0;

t=0;

while(t>

eps){

s+=t;

t=t*n/(2*n+1);

n++;

return(s);

main(){

doublex;

\nPleaseenteraprecision:

\neps=%lf,Pi=%lf\n\n"

x,fun(x));

t=1.0;

return(s*2);

1.15素数

找出一个大于形参m且紧随m的素数,并作为函数值返回。

请改正程序中的错误,使它能得出正确的结果。

intfun(intm){

inti,k;

for(i=m+1;

;

for(k=2;

i;

k++)

if(i%k!

=0)break;

/**************found**************/

if(k<

i)return(i);

voidmain(){

n=fun(20);

n=%d\n"

n);

if(i%k==0)break;

if(k==i)return(i);

1.16整数处理

从低位开始取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。

高位仍在高位,低位仍在低位。

例如,当s中的数为:

7654321时,t中的数为:

642。

//voidfun(longs,longt){

voidfun(longs,long*t){

longsl=10;

s/=10;

*t=s%10;

//while(s<

0){

while(s>

0){

s=s/100;

*t=s%10*sl+*t;

sl=sl*10;

main(){

longs,t;

\nPleaseenters:

%ld"

s);

fun(s,&

t);

t);

1.17自然数

计算小于形参k的最大的10个能被13或17整除的自然数之和。

k的值由主函数传入,若k的值为500,则函数值为4622。

intfun(intk){

intm=0,mc=0,j;

while((k>

=2)&

(mc<

10)){

if((k%13=0)||(k%17=0)){

m=m+k;

mc

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学案例设计

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1