亚洲欧美国产制服另类,日韩1区久久久久久久久久,亚洲欧美中文日韩aⅴ,不卡AV在线网址

    歡迎來到匯文網(wǎng)! | 幫助中心 匯文網(wǎng)——高品質(zhì)閱讀,高比例分成!
    匯文網(wǎng)

    (完整版)C語言程序設(shè)計(jì)練習(xí)題(含程序及參考答案).doc

    收藏

    編號(hào):21110262    類型:共享資源    大?。?span id="habgw2i" class="font-tahoma">195.51KB    格式:DOC    上傳時(shí)間:2022-11-13
    12
    積分
    關(guān) 鍵 詞:
    完整版 語言程序設(shè)計(jì) 練習(xí)題 程序 參考答案
    資源描述:
    C語言練習(xí)題 (所提供的源程序均采用自定義函數(shù)方式解決,如不采用函數(shù)方式,也可直接在main函數(shù)中借鑒該思想編程,因時(shí)間有限,所有程序未能一一驗(yàn)證,僅供參考使用) 1、定義一個(gè)函數(shù)int fun(int a,int b,int c),它的功能是:若a,b,c能構(gòu)成等邊三角形函數(shù)返回3,若能構(gòu)成等腰三角形函數(shù)返回2,若能構(gòu)成一般三角形函數(shù)返回1,若不能構(gòu)成三角形函數(shù)返回0。 #include 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 return 1; } else return 0; } void main() { int a,b,c,shape; printf("\nInput a,b,c: "); scanf("%d%d%d",&a,&b,&c); printf("\na=%d, b=%d, c=%d\n",a,b,c); shape =fun(a,b,c); printf("\n\nThe shape : %d\n",shape); } 2、編寫一個(gè)程序,將兩個(gè)變量的值交換, 例如變量a中的值原為 3,b中的值原為8,程序運(yùn)行后 a 中的值為8,b中的值為3。 #include void fun(int *x,int *y) { int t; t=*x;*x=*y;*y=t } void main() { int a=3,b=8; printf("%d %d\n",a,b); fun(&a,b); printf("%d %d\n",a,b); } 3、從鍵盤輸入3個(gè)數(shù),將最大值放在變量a中,最小值放在變量c中。 例如,輸入的數(shù)為:55 12 34, 輸出結(jié)果應(yīng)當(dāng)是:a=55.0,b=34.0,c=12.0。 #include void fun(float *p,float *q,float *s) { float k; if (*p<*q) { k=*p;*p=*q;*q=k;} if (*q<*s) { k=*s;*s=*p;*p=k;} if (*p<*q) { k=*p;*p=*q;*q=k;} } void main() { float a,b,c; printf("Input a b c: "); scanf("%f%f%f",&a,&b,&c); printf("a=%4.1f,b=%4.1f,c=%4.1f\n\n",a,b,c); fun(&a,&b,&c); printf("a=%4.1f,b=%4.1f,c=%4.1f\n\n",a,b,c); } 4、編寫函數(shù)fun(int n),它的功能是:計(jì)算正整數(shù)n的所有因子(1和n除外)之和作為函數(shù)值返回。例如:n=120時(shí),函數(shù)值為239。 #include #include int fun(int n) { int i,s=0; for (i=2;i #include float fun(int n) { int i; float s=1.0,h=1; for (i=2;i<=n;i++) { h=h+i; s=s+1.0/h; } return s; } void main() { int n;float s; printf("\nPlease enter N:");scanf("%d",&n); s=fun(n); printf("the result is:%f",s); } 6、將一個(gè)整數(shù)中的每一位上為奇數(shù)的數(shù)依次取出,構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。例如,當(dāng)s中的數(shù)為:87653142時(shí),t中的數(shù)為:7531。 #include 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=s1*10; } s/=10; } } main() { long s,t; printf("\nPlease enter s:"); scanf("%ld",&s); fun(s,&t); printf("The result is:%ld\n",t); } 7、計(jì)算并輸出k以內(nèi)最大的10個(gè)能被13或17整除的自然數(shù)之和。k的值從鍵盤傳入,若k的值為500,則輸出4622。 #include int fun(int k) { int m=0,mc=0,j; while((k>=1)&&(mc<10)) { if ((k%13 == 0)||(k%17 == 0)) { m=m+k;mc++; } k--; } return m; } void main() { printf("%d\n",fun(500)); } 8、已知一個(gè)數(shù)列的前三項(xiàng)分別為0,0,1, 以后的各項(xiàng)都是其相鄰的前三項(xiàng)之和,計(jì)算并輸出該數(shù)列前n項(xiàng)的平方根之和sum。例如,當(dāng)n=10時(shí),程序的輸出結(jié)果應(yīng)為:23.197745。 #include #include double fun(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 += sqrt(s); s0 = s1; s1 = s2; s2 = s; } return sum; } void main ( ) { int n; printf("Input N="); scanf("%d", &n); printf("%f\n", fun(n) ); } 9、編寫一個(gè)程序,從鍵盤輸入m,輸出大于m且緊隨m的素?cái)?shù)。 #include int fun(int m) { int i,k; for (i=m+1;;i++) { for (k=2;k=i) return(i); } } void main() { int n; printf("\nPlease enter n:"); scanf("%d",&n); printf("%d\n",fun(n)); } 10、判斷兩個(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)輸出No(表示它們不互質(zhì),它們有公因子17)。若輸入89和187,則應(yīng)輸出Yes(表示它們互質(zhì))。 #include 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; } void main( ) { int m, n; printf( "\nPlease enter 2 numbers:\n" ); scanf("%d %d", &m, &n); if( IsThat( m, n ) ) printf( "Yes\n" ); else printf( "No\n" ); } 11、將十進(jìn)制正整數(shù)m轉(zhuǎn)換成k進(jìn)制數(shù)(2≤k≤9)并輸出(m,k從鍵盤輸入)。 例如,若輸入8和2,則應(yīng)輸出1000(即十進(jìn)制數(shù)8轉(zhuǎn)換成二進(jìn)制表示是1000)。 #include void Trans( int m, int k ) { int aa[20], i,j; for( i = 0; m; i++ ) { aa[i] = m%k; m /= k; } for( j=i-1; j>=0; j-- ) printf("%d", aa[j]); } void main() { int b, n; printf( "\nPlease enter a number and a base:\n" ); scanf("%d %d", &n, &b ); Trans( n, b ); } 12、統(tǒng)計(jì)從鍵盤輸入的50個(gè)實(shí)數(shù)中有多少個(gè)正數(shù)、多少個(gè)負(fù)數(shù)、多少個(gè)零 #include void fun(int *zs,int *fs,int *l,float aa[]) { int i; for(i=0;i<50;i++) { if(aa[i]>0) (*zs)++; if(aa[i]<0) (*fs)++; if(aa[i]==0) (*l)++; } } void main() { float num[50]; int i,czs,cfs,cl; czs=cfs=cl=0; printf( "\nPlease enter 50 float numbers :\n" ); for(i=0;i<50;i++) scanf(“%f”,&num[i]); fun(&czs,&cfs,&cl,num); printf("\n正數(shù):%d ,負(fù)數(shù):%d ,零:%d \n",czs,cfs,cl); } 13、計(jì)算并輸出方程X2+Y2=1989的所有整數(shù)解 #include void fun() { int x,y; for(x=1;x<=44;x++) for(y=1;y<=44;y++) if(x*x+y*y==1989) printf(“x=%d ,y=%d \n”,x,y); } void main() { printf(“方程x^2+y^2=1989的整數(shù)解為:\n”); fun(); } 14、從鍵盤輸入10個(gè)整數(shù),求出其中的最大值。 #include int fun(int aa[]) { int m,i; m=aa[0]; for(i=1;i<10;i++) if(aa[i]>m) m=aa[i]; return m; } void main() { int num[10],i; printf(“請(qǐng)從鍵盤輸入10個(gè)整數(shù):\n”); for(i=0;i<10;i++) scanf(“%d”,&num[i]); printf(“\n最大的數(shù)是:%d\n”,fun(num)); } 1 2 3 4 5 1 1 2 3 4 1 1 1 2 3 1 1 1 1 2 1 1 1 1 1 15、從鍵盤輸入n值,輸出如右圖形。(例如n=5時(shí)) #include void fun(int n) { int i,j; for(i=1;i<=n;i++) { for(j=1;j<=i;j++) printf(“%3d”,1); for(j=2;j<=n+1-i;j++) printf(“%3d”,j); printf(“\n”); } } void main() { int n; printf(“\n請(qǐng)輸入圖形的行數(shù):”); scanf(“%d”,&n); fun(n); } 16、使用函數(shù)的方式,計(jì)算如下公式的值。 1 1 1 A1=1,A2=──,A3=──,……An=──── 1+A1 1+A2 1+A(n-1) 例如:若n=10,則應(yīng)輸出: 0.617977。 #include float fun ( int n ) { float A=1; int i; for (i=1; i<=n; i++) A = 1.0/(1+A); return A ; } void main( ) { int n ; printf("\nPlease enter n: ") ; scanf("%d", &n ) ; printf("A%d=%f\n", n, fun(n) ) ; } * 17、使用函數(shù)的方式,,按下面的公式計(jì)算并輸出數(shù)列的第m項(xiàng)。 ┌ 2, m = 1; │ 3, m = 2; FFF( m ) = ┤ 5, m = 3; └ FFF(m - 3) + FFF(m - 1), m > 3; 例如,若輸入整數(shù) 9,則應(yīng)輸出:47。 (不用做) * 18、使用函數(shù)的方式,按以下遞歸公式求函數(shù)值 ┌10 (n=1) fun(n)=│ └fun(n-1)+2 (n>1) 例如,當(dāng)給n輸入5時(shí),函數(shù)值為18;當(dāng)給n輸入3時(shí),函數(shù)值為14。 (不用做) 19、計(jì)算并輸出當(dāng)0 #include double fun(double x) { int n=1; /* 循環(huán)計(jì)數(shù)*/ double sn=1; /* 累計(jì)數(shù)*/ double xn=1,xn1=0; /*x的n值,以及x的n-1值;*/ while(fabs(xn-xn1)>=0.000001)/*絕對(duì)值是否合格*/ { xn=xn*x*(0.5-n+1)/n; /*表達(dá)式分解以后xn=(xn-1)*x*(0.5-n+1)/n*/ n+=1; sn+=xn; /*sn累加上xn*/ } return sn; } void main() { double x,s; printf("Input x: "); scanf("%lf",&x); s=fun(x); printf("s=%f\n",s); } 20、計(jì)算并輸出s。 x^2 x^3 x^n s = 1 + x + ── + ── + …… + ── 2! 3! n! n,x從鍵盤輸入,例如,當(dāng)n=10,x=0.3時(shí),函數(shù)值為1.349859。 #include double fun(double x,int n) { int i; double f=1.0,h=x; double s=1; s=s+h/f; for (i=2;i<=n;i++) { f=f*i;h=h*x; s=s+h/f; } return s; } void main() { printf("%f\n",fun(0.3,10)); } 21、從鍵盤輸入high,計(jì)算并輸出high以內(nèi)最大的10個(gè)素?cái)?shù)之和。例如,輸入high的值為100,則輸出732。 #include 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==1) { sum +=high; n++; } high--; } return sum ; } void main ( ) { printf("%d\n", fun (100)); } 22、請(qǐng)編寫函數(shù)float fun(int n),它的功能是:返回n(包括n)以內(nèi)能被5或9整除的所有自然數(shù)的倒數(shù)之和。例如,n=20,返回0.583333。注意:要求n的值不大于100。 #include double fun(int n) { int i; double sum=0.0; if(n>0&&n<=100) { for (i=1;i<=n;i++) if(i%5==0||i%9==0) sum+=1.0/i; } return sum; } void main() { int n; double s; printf("\nInput n: "); scanf("%d",&n); s=fun(n); printf("\n\ns=%f\n",s); } 23、請(qǐng)編一個(gè)函數(shù)fun(int *a, int n, int *odd, int *even),函數(shù)的功能是分別求出數(shù)組中所有奇數(shù)之和以及所有偶數(shù)之和。形參n給出數(shù)組a中數(shù)據(jù)的個(gè)數(shù);利用指針odd返回奇數(shù)之和,利用指針even返回偶數(shù)之和。 例如:數(shù)組中的值依次為: 1,9,2,3,11,6;則利用指針odd返回奇數(shù)之和24;利用指針even 返回偶數(shù)之和8。 #include #define N 20 fun ( int *a, int n, int *odd, int *even ) { int i,sum_odd=0,sum_even=0; for(i=0;i #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() { int a,b,c; printf(“請(qǐng)輸入三角形三條邊:\n”); scanf(“%d%d%d”,&a,&b,&d); if(
    展開閱讀全文
    提示  匯文網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書面授權(quán),請(qǐng)勿作他用。
    關(guān)于本文
    本文標(biāo)題:(完整版)C語言程序設(shè)計(jì)練習(xí)題(含程序及參考答案).doc
    鏈接地址:http://zhizhaikeji.com/p-21110262.html
    關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

    客服QQ:2660337891點(diǎn)擊這里給我發(fā)消息

    手機(jī):13423958347
     匯文網(wǎng)版權(quán)所有  聯(lián)系郵箱:2660337891#qq.com (請(qǐng)把#改為@)  
      鄂ICP備2022007403號(hào),本站可開發(fā)票,需開票聯(lián)系客服QQ。

    收起
    展開