最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)題庫(kù)(一)

2021-02-28 08:52 作者:朝顏晚扶桑  | 我要投稿

改錯(cuò)題

數(shù)字題:

1、根據(jù)整型形參m,計(jì)算如下公式的值。

y=1+1/(2*2)+1/(3*3)+1/(4*4)++1/(m*m)的值。例如,若m=5,則應(yīng)輸出:1.463611

double fun(int m)

{double y=1.0;int i;for(i=2;i<=m;i++)y+=1.0/(i*i);return(y);}

2、根據(jù)形參m計(jì)算列公式的值。T=1-1/2+1/3-1/4+……+(-1)(m+1)/m 例如,若輸入5,則應(yīng)輸出0.783333

double fun(int m)

{double t=1.0,j=1.0;int I;for(i=2;i<=m;i++){j= -1*j;t+=j/i;}return t;}

3.根據(jù)整型參數(shù)m,計(jì)算如下公式的值,y=1/(100*100)+1/(200*200)+1/(300*300)++1/(m*m).例如,若m=2000,則應(yīng)輸出0.000160.

double fun (int m)

{double y=0, d;int i;

for(i=100;i<=m;i+=100)

{d=(double) i*( double)i;y+=1.0/d;}

return(y);}

4.根據(jù)以下公式求n的值。例如 ,給eps輸入0.0005時(shí),應(yīng)當(dāng)輸出

Pi=3.140578.

Pai/2=1+1/3+1/3*2/5+1/3*2/5*3/7+

double fun(double eps)

{double s,t;int n=1;s=0.0;t=1.0;while(t>=eps){s+=t;t=t*n/(2*n+1);

n++;}return (s*2);}

5.根據(jù)形參m,計(jì)算下列公式的值。t=1+1/2+1/3+1/4+…1/m.。例如,若輸入5,則應(yīng)輸出2.283333.

double fun (int m)

{double t=1.0;int i;

for(i=2;i<=m;i++)t+=1.0/i;return t;}

6.根據(jù)整型形參m,計(jì)算如下公式的值。

y=1+1/根號(hào)(2)+1/根號(hào)(3)+……1/根號(hào)(n)例如,若m中的值為:5,則應(yīng)輸出:3.231671

#include<math.h>

double fun (int m)

{int i;double t,y=0;

for(i=1;i<=m;i++){t=1/sprt(i);y=y+t;}return y;}

7. 根據(jù)整型形參m的值,計(jì)算如下公式的值。t=1-1/(2*2)-(3*3)--1/(m*m)例如m=5,則應(yīng)輸出0.536389.

double fun (int m)

{double ?y=1.0;int i;

for (i=2;i<=m;i++)

y-=1.0/(i*i);return(y);}

8. 根據(jù)整型形參m,計(jì)算如下公式的值.y=1-1/(2*2)+1/(3*3)-1/(4*4)++(-1)(m+1)/(m*m)例如:m中的值為5,則應(yīng)輸出0.838611.

double fun (int m)

{double y=1.0;double j=1.0;int i;

for(i=2;i<=m;i++){j=-1*j;y+=j/(i*i);}return(y);}

9.根據(jù)整型形參n,計(jì)算如下公式的值。A1=1.A2=1/(1+A1),A3=1/(1+A2),An=1/(1+A(n-1)).例如,若n=10,則應(yīng)輸出0.617977.

float fun (int n)

{float ?A=1;int i;for(i=2;i<=n;i++)A=1.0/(1+A);returnA;}

10.求s=aaaa-aaa-aa-a(此處aaaa表示n個(gè)a,a和n的值在1至9之間)。如a=3.n=6,則以上表達(dá)式為:s=333333-33333-3333-333-33-3.其值是296298.

long fun (int a,int n)

{int j;long s=0,t=0;

for (j=0;j<n;j++)

t=t*10+a;s=t;

for(j=1;j<n;j++){t=t/10;s=s-t;}return(s);}

11.用下面的公式求的近似值,直到最后一項(xiàng)的絕對(duì)值小于指定的數(shù)(參數(shù)num)為止。

∏/4≈1-1/3+1/5-1/7+例如,輸入0.0001,則程序輸出3.1414.

float fun(float num)

{int s;float n,t,pi;t=1;

pi=0;n=1;s=1;

while(fabs(t)>=num)

{pi=pi+t;n=n+2;s=-s;t=s/n;}

pi=pi*4;return pi;}

12.計(jì)算并輸出下列級(jí)數(shù)的前N項(xiàng)之和SN,直到SN+1大于q為止,q的值通過(guò)形參傳入。

SA=2/1+3/2+4/3+(N+1)/N。例如,若q的值為50.0,則函數(shù)值為49.394948.

double fun(int q)

{int n;double s,t;n=2;s=2.0;

while(s<=q){t=s;s=s+(double)(n+1)/n;n++;}printf(n=%d\ n,n);return t;}

13.求S的值。設(shè)S=(22/(1*3))*(42/(3*5))*(62/(5*7)**(2k2/(2k-1)*(2k+1)).例如,當(dāng)k為10時(shí),函數(shù)的值應(yīng)為1.533852.

float fun(int k)

{int n;float s,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++;}return s;}

14.計(jì)算S=f(f(-1.0)+f(5.0))的值。結(jié)果為2488.000000.f(x)函數(shù)定義如下:(公式省略)

double f(double x)

{double y;if (x<=2.0)y=2.0*x*x+3.0*x+4.0;else y=-2.0*x*x+3.0*x-4.0;

return y;}

15.計(jì)算S=給f(-n)+f(-n+1)++f(0)+f(1)+f(2)++f(n)的值。例如,當(dāng)n為5時(shí),函數(shù)值應(yīng)為10.407143.f(x)函數(shù)定義如下;(函數(shù)省略)

double?f(double x)

{if(x= =0.0||x= =2.0)

return0.0;else if(x<0.0)return

(x-1)/(x-2);

else return(x+1)/(x-2);}

double fun(int n)

{int i;double s=0.0,y;

for(i=-n;i<=n;i++){y=f(1.0*i);s+=y;}return s;}

16.按以下遞歸公式求函數(shù)值。函數(shù)省略。

例如,當(dāng)給n輸入5時(shí),函數(shù)值為18.

fun(int n){int c;if(n==1)c=10;else c=fun(n-1)+2;return(c);}

17.計(jì)算函數(shù)F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的 值。其中x和y不相等,z和y不等。例如,當(dāng)x的值為9,y的值為11,z的值為15時(shí),函數(shù)值為-3.50.

#define FU(m,n)(m)/(n)

float fun(float a.float b,float c)

{float value;

value=FU(a+b,a-b)+FU(c+b,c-b);return(value);}

18.用二分法求方程2x3 -4x2+3x-6=0的一個(gè)根,并要求絕對(duì)誤差不超過(guò)0.001.例如,若給m輸入-100,給n輸入90,則函數(shù)求得的一個(gè)根值為2.000.

double funx(double x)

{return (2*x*x*x-4*x*x*+3*x-6);}

double fun(double m,double n)

{double r;r=(m+n)/2;

while(fabs(n-m)>0.001)

{if(funx(r)*funx(n)<0)?m=r;

else n=r;r=(m+n)/2;}return r;}

19.傳入一個(gè)整數(shù)m,計(jì)算如下公式的值,t=1/2-1/3--1/m.例如,若輸入5,則應(yīng)輸出-0.283333.

double fun (int m)

{double t=1.0;int i;

for(i=2;i<=m;i++)t=t-1.0/i;return t;}

20.求出以下分?jǐn)?shù)序列的前n項(xiàng)之和;1/2,2/3,3/5,5/8,8/13,13/21和值通過(guò)函數(shù)值返回main函數(shù)。例如,若n的值為:5,則應(yīng)輸出:3.007051.

double fun(int n)

{int i;double t,s,a,b,c;

s=0;a=1;b=2;for(i=0;i<n;i++){t=a/b;s=s+t;c=a+b;a=b;b=c;}return s;}

21.求出以下分?jǐn)?shù)序列的前n項(xiàng)之和。2/1,3/2,5/3,8/5,13/8,21/13,……和值通過(guò)函數(shù)值返回主函數(shù)。例如,若輸入5,則應(yīng)輸出8.391667.

double fun (int n)

{int a=2,b=1,c,k;double s=0.0;for(k=1;k<=n;k++){s=s+1.0*a/b;c=a;a+=b;b=c;}return(s);}

22.計(jì)算1+2+3+……+n的和值。

float fun (int n)

{double t;if (n==1)return(1);else t=fun(n-1)+n;return t;}

23.應(yīng)用遞歸算法求某數(shù)a的平方根。求平方根的迭代公式如下:x1=(x0+a/x0)/a.例如,2的平方根為1.414214.

doube fun(double a,double x0)

{double x1,y;

x1=(x0=a/x0)/2.0;if(fabs (x1?-x0)>=0.00001)

y=fun (a,x1);

else y=x1;return y; }

24.求k!(k<13),例如,若k =10,則應(yīng)輸出3628800.

long fun (int k)

{if(k>0)return(k*fun(k-1));else if (k==0)?return 1;}

25.計(jì)算整數(shù)n 階乘。

double fun (int n)

{double result=1.0;

If(n==1||n==0)return 1;

While (n>1&&n<170)result*=n--;return result;}

26.計(jì)算正整數(shù)num 的各位上的數(shù)字之積,例如,若輸入:252,則輸出應(yīng)該是:20.

long fun(long num)

{long k=1;

do {k*=num%10;num/=10;}while (num);return(k); }

27.計(jì)算正整數(shù)num的各位之平方和。例如,輸入352,則輸出應(yīng)該是38;若輸入328,則輸出應(yīng)該是77.

long fun (long num)

{long k=0;do {k+=(num%10)* (num%10);num/=10;}while (num);return(k);}

28.計(jì)算并輸出high?以內(nèi)的素?cái)?shù)之和。high由主函數(shù)傳給fun函數(shù)。若high的值為100,則函數(shù)的值為1060.

int fun (int high)

{int sum=0,n=0,j,yes;while (high>=2){yes=1;for(j=2;j<=high/2;j++)

if (high%j==0){yes=0;break;}if(yes){sum+=high;n++;}high--;}return sum;}

29.計(jì)算并輸出k以內(nèi)最大的6個(gè)能被7或11整除的自然數(shù)之和。若k的值為500,則函數(shù)的值為2925.

int fun (int k)

{intm=0,mc=0,j;

while((k>=2)&&(mc<6))

{if ((k%7==0)||

(k%11==0)){m+=k;mc++;}k--;}return m;}

30.數(shù)列中,第一項(xiàng)為3,后一項(xiàng)都比前一項(xiàng)的值增5.下列給定程序中,函數(shù)的功能是:計(jì)算前n(4≤n≤50)項(xiàng)的累積和。在累加過(guò)程中把那些被4除后余2的當(dāng)前累加值放入數(shù)組中,符合此條件的累加值的個(gè)數(shù)作為函數(shù)值返回主函數(shù)里。如,當(dāng)n的值為20時(shí),該數(shù)列為3,8,13,18,23,28,,93,98.符合此條件的累加值應(yīng)為42,126,366,570,1010.

int fun (int n,int *a)

{int i,j=0,k,sum;sum=0;for (k=3,i=0;i<n;i++,k+=5)

{sum=sum+k;if (sum%4==2)a[j++]=sum;}return j++;} ??

31.讀入一個(gè)整數(shù)k(2≤k≤10000),打印它的所有質(zhì)因子(即所有為素?cái)?shù)的因子)。例如,若輸入整數(shù)理化2310.則應(yīng)輸出:2、3、7、11.

?isPrime (int n)

{int i,m;m=1;for (i=2;i<n;i++)if (!(n%i)){m=0;break;}return(m);}

32.將長(zhǎng)整型數(shù)中每一位上為偶數(shù)的數(shù)依次逆向取出,構(gòu)成一個(gè)新數(shù)放在t中。高位在低位,低位在高位。當(dāng)s中的數(shù)為25846513時(shí),t中的數(shù)為6482.

void fun(long s,long *t)

{int d;long s1=1.i=1;*t=0;

while(s/i>0) i=i*10;i=i/10;

while (s>0)

{d=s/i;if(d%2==0){*t=d*s1+*t;s1*=10;}s=s%i;i=i/10;}}

33.已知一個(gè)數(shù)列從0項(xiàng)開始的前3項(xiàng):0,0,1,以后的各項(xiàng)都是其相鄰的前3項(xiàng)之和。函數(shù)fun的功能是:計(jì)算并輸出該數(shù)列前n項(xiàng)的和sum。N的值通過(guò)形參傳入。例如,當(dāng)n=10時(shí),程序輸出結(jié)果應(yīng)為96.000000.

double fun (int n)

{double sum,s0,s1,s2,s;int k;sum=1.0;

if(n<=2)sum=0.0;s0=0.0;s1=0.0;s2=1.0;

for (k=4;k<=n;k++){s=s0+s1+s2;sum+=s;s0=s1;s1=s2;s2=s;}return sum;}

34.計(jì)算并輸出k以內(nèi)最大的10個(gè)能被13或17整除的自然數(shù)之和。例如,若k的值為500,則函數(shù)的值為4622.

int fun (int k)

{int m=0,mc=0,j;while ((k>=2)&&(mc<10)){if((k%13==0)||(k%17==0))

{m=m+k;mc++;}k--;}return m;}

35.通過(guò)某種方式實(shí)現(xiàn)兩個(gè)變量值的交換,規(guī)定不允許增加語(yǔ)句和表達(dá)式。例如,變量a中的值原為8,b中的值原為3,b中的值為8.

int fun (int *x,int y){int t;t=*x;*x=*y;;return (t);}

36.實(shí)現(xiàn)兩個(gè)整數(shù)的交換。例如給a和b分別輸入60和65,輸出為:a=65 b=60.

void fun (int *a,int *b){int t;t=*b;*b=*a;*a=t;}

37.將長(zhǎng)整型數(shù)中每一位上為偶數(shù)的數(shù)依次取出,構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。當(dāng)s中的數(shù)為87653142時(shí),t中數(shù)為8642.

void fun (long s,long *t){int d;long s1=1;*t=0;

while(s>0){d=s%10;if(d%2==0){*t=d*s1+*t;s1*=10;}s/=10;}}?

38.從低位開始取出長(zhǎng)整型變量s中偶數(shù)位上的數(shù),依次構(gòu)成一個(gè)新數(shù)放在t中。例如,當(dāng)s中的數(shù)為7654321時(shí),t中的數(shù)為642.

void fun (long s,long *t)

{long s1=10;s/=10;*t=

s%10;while (s>0)

{s=s/100;*t=s%10*s1+*t;s1=s1*10;}}

39.?從低位開始取出長(zhǎng)整型變量s中奇數(shù)上的數(shù),依次構(gòu)成一個(gè)新數(shù)放在t中。例如,當(dāng)s中的數(shù)為7654321時(shí),t中的數(shù)為7531.

void fun (long s,long *t)

{long s1=10;*t=s%10;while (s>10)

{s=s/100;*t=s%10*s1+*t;s1=s1*10;}}

40.?將長(zhǎng)整型數(shù)中每一位上為奇數(shù)的數(shù)依次取出,構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。當(dāng)s中的數(shù)為87653142時(shí),t中數(shù)為7531.

void fun (long s,long *t){int?d;long s1=1;*t=0;

while(s>0){d=s%10;if(d%2!=0){*t=d*s1+*t;s1*=10

;}s/=10;}}

41.求出兩個(gè)數(shù)的最大公約數(shù),并作為函數(shù)值返回。例如,若給num1和num2輸入49和21,則輸出最大公約數(shù)為27.

int fun (int a,int b)

{int r,t;if(a<b){t=a;a=b;b=t;}r=a%b;

while (r!=0){a=b;b=r;r=a%b;}return (b);}?

42.求三個(gè)數(shù)的最小公倍數(shù)。例如,給變量x1、x2、x3分別輸入15,11,2,則輸出結(jié)果應(yīng)當(dāng)是330.

fun (int x,int y,int z)

{int j,t,n,m;j=1;t=j%x;m=j%y;n=j%z;

while (t!=0||m!=0||n!=0)

{j=j+1;t=j%x;m=j%y;n=j%z;}return j;}

43.求廣義斐波那契數(shù)的第n項(xiàng)。1,1,1,3,5,9,17,31,……項(xiàng)值通過(guò)函數(shù)值返回main函數(shù)。例如,若n=15,則應(yīng)輸出:2209.

long fun (int n)

{long a=1,b=1,c=1,

d=1,k;for (k=4;k<=n;k++)

{d=a+b+c;a=b;b=c;c=d;}return d;}

44.用遞歸算法斐波那契級(jí)數(shù)列中第n項(xiàng)的值從第1項(xiàng)起,斐波那契級(jí)數(shù)序列為1,1,1,2,3,5,8,13,21例如,若給n輸入7,該項(xiàng)的斐波那契級(jí)數(shù)值為13.

long fun (int g)

{switch (g){case 0:return 0;switch(g) case1:case 2:return1;}return (fun (g-1)+fun (g-2));}

45.統(tǒng)計(jì)一個(gè)無(wú)符號(hào)整數(shù)中各位數(shù)字值為零的個(gè)數(shù),通過(guò)形參傳回主函數(shù);并把該整數(shù)中各位上最大的數(shù)值作為函數(shù)值返回。例如,若輸入無(wú)符號(hào)整數(shù)30800,則數(shù)字值為零的數(shù)為3,各位上數(shù)字值最大的是8.

int fun (unsigned n,int *zero)

{int count=0,max=0,t;

do {t=t%10;if(t==0)

count++;if(max<t)max =t;n=n/10;}while (n);*zero=count;return max;}

46.從3個(gè)紅球,5個(gè)白球,6個(gè)黑球中任意取出8個(gè)作為一組,進(jìn)行輸出。在每組中,可以沒有黑球,但必須要有紅球和白球。組合數(shù)作為函數(shù)值返回。正確的組合數(shù)應(yīng)該是15.程序中i的值代表紅球數(shù),j的值代表白球數(shù),k的值代表黑球數(shù)。

int fun()

{int i,j,k,sum=0;

printf(\nTheresult :\n\n);for (i=1;i<=3;i++)

{for (j=1;j<=5;j++)

{k=8-i-j;if ((k>=1&&k<=6}&&(i!=0)&&(j!=0)|| (k==0)){sum=sum+1;

Printf (red:%4d white:%4d black:%4d\n”,I,j,k);}}} return sum;}

47.求整數(shù)x的y次方的低3位值。例如,整數(shù)5的6次方為15625,此值的低3為值為625.

long fun (int x,int y,long *p)

{int i; long t=1;for (i=1;i<=y;i++)t=t*x;*p=t;t=t%1000;return t;}

48.根據(jù)輸入的3個(gè)邊長(zhǎng)(整數(shù)值),判斷能否構(gòu)成三角形:若能構(gòu)成三角形則返回l,若不能,則返回0。

int fun(int a,int b,int c)

{if (a+b>c&&b+c>a&&

a+c>b){if (a==b&&b==c)

return 3;else if (a==b||b==c||a==c)return 2;else return1;?}else return 0;}

49.為一個(gè)偶數(shù)尋找兩個(gè)素?cái)?shù),這兩個(gè)素?cái)?shù)之和等于該偶數(shù),并將這兩個(gè)素?cái)?shù)通過(guò)形參指針傳回主函數(shù)。

void fun (int a,int *b,int*c)

{inti,j,d,y;for (i=3;i<=a/2;i=i+2){y=1;for(j=2;j<=sprt ((double)i);j++)

if (i%j==0)y=0;if(y==1){d=a-i;for (j=2;j<=sprt

((double)d);j++)

if(d%j==0)y=0;if (y==1){*b=i;*c=d;}}}}

50.找到一個(gè)大于給定整數(shù)m且緊隨m的素?cái)?shù),并作為函數(shù)值返回。

int fun(int m)

{int i,k;for (i=m+1;;i++)

{for(k=2;k<i;k++)if (i%k==0)break;if (k>=i)return (i);}}

51.求輸入的兩個(gè)數(shù)中較小的數(shù)。例如:輸入5 10,結(jié)果為min is 5.

int fun(int x,int y)

{int z;z=x<y?x:y;return 0;}

52.判斷一個(gè)整數(shù)m是否是素?cái)?shù),若是返回1,否則返回0.

int fun (int m)

{intk=2;while (k<=m&&(m%k)) k++;

if(m==k)return1;else return 0;}

53.將十進(jìn)制正整數(shù)m轉(zhuǎn)換成k(2≤k≤9)進(jìn)制數(shù),并按位輸出。例如,若輸入8和2,則應(yīng)輸出1000。

fun (int m,int k)

{int aa[20],i;

for (i=0;m;i++)

{aa[i]=m%k;m/=k;}

for (;i;i--)

printf(%d,aa[i-1]);}?

54.把輸入的十進(jìn)制數(shù)以十六進(jìn)制數(shù)的形式輸出。

main ()

{charb[17]={0123456789ABCDEF};

int c[64] ,d,i=0,base=16;long n;

printf(Enter a number:\n”);scanf(%ld,&n);do{c[i]=n%base;i++;n=n/base;}

while (n!=0);printf (Transmite new base:\n) for (--i;i>=0;--i)

{d=c[i];printf(%c,b[d]);}printf(\n);}

55.將一個(gè)由八進(jìn)制數(shù)字字符組成的字符串轉(zhuǎn)換為與其面值相等的十進(jìn)制整數(shù)。若輸入77777,則輸入出是32767.

int fun(char *p)

{int n;n=*p-0;p++;

while(*p!=0){n=n*8+*p-0;p++;}return (n);}

56.計(jì)算證整數(shù)num的各位上的數(shù)字之積。例如,若輸入253,則輸出應(yīng)該是20.

long fun (long num)

{long k=1;do {k*=num%10;mum/=10;}while (num);return (k);}

57.計(jì)算并輸出high以內(nèi)最大的10個(gè)素?cái)?shù)之和。若high的值為100,則函數(shù)的值為732.

int fun (int high)

{int sum=0,n=0,j,yes;

while ((high>=2)&&

(n<10)){yes =1;for (j=2;

j<=high /2;j++)

if (high%j==0){yes=0;

break;}if(yes){sum+=high;n++;}high--;}return sum;}

58.從整數(shù)1到55之間,選出能被3整除、且有一位上的數(shù)是5的那些數(shù),并把這些數(shù)放在b所指的數(shù)組中,這些數(shù)的個(gè)數(shù)作為函數(shù)值返回。規(guī)定,函數(shù)中a1放個(gè)位數(shù),a2放十位數(shù)。

fun (int *b)

{intk,a1,a2,i=0;for(k=10;k<55;k++){a2=k/10;a1=k-a2*10;

if ((k%3==0&&a2==5)||

(k%3==0&&a1==5)){b[i]=k;i++;}}return i;}?

59.把主函數(shù)中輸入的3個(gè)數(shù),最大的放在a中,最小的放在c中。例如,輸入的數(shù)為:55 12 34,輸出結(jié)果應(yīng)當(dāng)是:a=55.0,b=34.0,c=12.0.

void fun (float *p,float *q,float *s)

{float *k;if (*p>*q){*k=*p;*p=*q;*q=*k;}if (*s>*p){*k=*s;

*s=*p;*p=*k;}if(*q>*p)

{*k=*q;*q=*p;*p=*k;}}

60.計(jì)算n的5次方的值,通過(guò)形參指針傳回主函數(shù);計(jì)算該值的個(gè)位、十位、百位上數(shù)字之和作為函數(shù)值返回。如,7的5次方是16807,其低3位數(shù)的和值是15.

int fun(int n,int *value)

{intd,s,i;d=1;s=0;for (i=1;i<=5;i++)d=d*n;*value=d;

for (i=1;i<=5;i++)

{s=s+d%10;d=d/10;}return s;}

61.求兩個(gè)形參的乘積和商數(shù),并通過(guò)形參返回調(diào)用程序。例如輸入:61.82和12.65,輸出為:c=782.023000,d=4.886957.

void fun (double a,double b,double *x,double *y){*x=a*b;*y=a/b;}

62.輸入兩個(gè)雙精度數(shù),函數(shù)返回它們的平方和的平方根值。例如:輸入:22.936和14.121,輸出為:y=26.934415.

double fun (double *a,double *b)

{double c;

c=sqrt((*a)*(*a)+(*b)*

(*b));return c;}

63.求二分之一的圓面積,函數(shù)通過(guò)形參得到圓的半徑,函數(shù)返回二分之一的圓面積。例如輸入圓的半徑值:19.527 輸出為:s=598.950017.

float fun (float r){return 3.14159*r*r/2;}

64.判斷兩個(gè)指針?biāo)复鎯?chǔ)單元中的值的符號(hào)是否相同;若相同函數(shù)返回1,否則返回0.這兩個(gè)存儲(chǔ)單元中的值都不為0.

fun ?(double *a,double *b)

{if(*a**b>0.0)return 1;else return 0;}

65.求兩數(shù)平方根之和,作為函數(shù)值返回。例如,輸入12和20,輸出結(jié)果是:y=7.936238.

double fun (double *a,double *b)

{double c;c=sqrt(*a)+sqrt (*b);return c;}

66.判斷兩個(gè)整數(shù)m和n是否互質(zhì)(既是否有公共的因子)(m≠1,n≠1.方法是:用2到t(t取m和n中較小的那個(gè)數(shù))之間的數(shù)分別去除m和n,若m和n能同時(shí)被某個(gè)數(shù)除盡,則m和n不互質(zhì);否則它們互質(zhì)。例如,若輸入187和85,則應(yīng)輸出N0(表示它們不互質(zhì),它們有公因子17)。若輸入89和187,則應(yīng)輸出Yes(表示它們互質(zhì))。

int IsThat(int m,int n)

{int k,t,mk=1;t=m;if (m>n)t=n;for (k=2;k<=t;k++)

if (m%k==0&&n%k==0)

{mk=0;break;}return (mk);}

main ()

{int m,n;clrscr();printf (\nPlease enter 2 number:\n)scanf (^%d %d,&m,&n);

if (IsThat(m,n)) printf (Yes\n);else printf (No\n);}

67.判斷一個(gè)整數(shù)m是否是素?cái)?shù),若是返回1,否則返回0.

int fun (int m)

{intk=2;while (k<=m&&(m%k))k++;if (m==k)return 1;else return 0;}

68.求兩個(gè)形參的乘積和商數(shù),并通過(guò)形參返回調(diào)用程序。例如輸入:61.82和12.65,輸出為:c=782.023,d=4.886957.

void fun (double a,double b,double*x,double*y){*x=a*b;*y=a/b;


計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)題庫(kù)(一)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
大英县| 镇坪县| 江山市| 大冶市| 容城县| 吉水县| 罗平县| 射洪县| 临西县| 三都| 吴堡县| 信丰县| 铜梁县| 海口市| 福安市| 鄢陵县| 高尔夫| 龙州县| 巍山| 海南省| 伊吾县| 纳雍县| 舟山市| 郓城县| 清原| 沙洋县| 武强县| 重庆市| 扬中市| 苏尼特右旗| 大渡口区| 兴城市| 泰安市| 芒康县| 滨海县| 宣化县| 武夷山市| 锡林浩特市| 甘洛县| 渭源县| 邢台市|