c语言上机实验题 联系客服

发布时间 : 星期六 文章c语言上机实验题更新完毕开始阅读e60d91fe172ded630b1cb6da

{long int n;

scanf(\ Fibonacci(n); getch(); }

long Fibonacci(long int n) { long int x=1,y=0; while(x<=n) {x=x+y; y=x-y ; }

printf(\}

18.下列给定程序中,函数fun的功能是:计算如下公式

357n?1?2?n?1?s?2?2?2?…?-1?2246?2?n?

?2?n?1?22?n??直到

?10?3,并且把计算结果作为函数值返回。

例如,若形参e的值为1e-3,则函数返回值为0.551690。请在下画线处填入正确的内容并将

下画线删除,使程序得出正确的结果。注意:不得增行或删行,也不得更改程序的结构!

#include #include double fun(double e) double fun(double e) { int i, k; { int i, k; double s, t, x; double s, t, x; s=0; k=1; i=2; s=0; k=1; i=2; x=__1__/4; x=3,0/4; while( __2__ ) while( x>e ) { s=s+k*x; { s=s+k*x; k=-k; k=-k; t=2*i; t=2*i; x=__3__/(t*t); x=(t+1.0)/(t*t); i++; i++; } } return s; return s; } } main() main() { double e=1e-3; { double e=1e-3; printf(\printf(\} }

19.下列给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。

例如,输入一个整数27638496,函数返回值为64862。

#include #include

unsigned long fun(unsigned n); main()

{unsigned long n; fun(n); getch(); }

unsigned long fun(unsigned n) { int b;

unsigned long a; a=0;

printf(\ scanf(\ while(n!=0) { b=n; if(b%2==0) a=a*10+b; n=n/10; }

printf(\ getch(); }

20.请编写程序求出从键盘上输入的两个正整数a和b的最大公约数和最小公倍数。

#include main() {

int p,r,n,m,temp;

scanf(\ if(n

{temp=n;n=m;m=temp;} p=n*m; while(m)

{r=n%m;n=m;m=r;} printf(\n,p/n); }

21.请编写程序利用下列公式为公式求π的近似值。公式为:

-5

要求:先求出前2n项的π值,再求出2n+2项的π值,直至两者之差小于10为止。

#include main() { int n; float a,b; a=1,b=4.0/3; n=1;

while(b-a>=1e-5) {

a=b; n++;

b=b*4*n*n/(2*n-1)/(2*n+1); }

printf(\ getch(); }

22.请编写程序计算1!+2!+3!+??+n!的前10项之和。

#include main() {

int n,i; long s,t; s=0, t=1;

printf(\ scanf(\ for(i=1;i<=n;i++) {

t=i*t; s=s+t; }

printf(\ getch(); }

23.请编写程序求出满足如下条件的一个四位整数,它的9倍恰好是其反序数(所谓反序数是指正读和倒读相同的数。例如,1234和4321互为反序数)。

#include main() {

int i,j,a;

for(i=1001;i<10000;i++) {

a=i;j=0; while(a) {

j=j*10+a; a=a/10; }

if(j==i*9) printf(\ }

getch(); }

24.请编写程序求出满足如下条件的四位数n: (1) n的范围为[5000,8000];

(2) n千位上的数减百位上的数减十位上的数减个位上的数大于零。编程要求:以每行

10个输出满足条件的数及该类数的个数。

#include main() {

int n,a,b,c,d,s,i=0;

for(n=5000;n<=8000;n++) {

a=n/1000;

b=n00/100; c=n0/10; d=n; s=a-b-c-d; if(s>0) {i++;

printf(\ if(i==0) printf(\ } }

printf(\ getch();