C語(yǔ)言程序設(shè)計(jì)(第三版)習(xí)題庫(kù)答案_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)(第三版)習(xí)題庫(kù)答案_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)(第三版)習(xí)題庫(kù)答案_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)(第三版)習(xí)題庫(kù)答案_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)(第三版)習(xí)題庫(kù)答案_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、C語(yǔ)言程序設(shè)計(jì)(第三版)習(xí)圓球體積、圓柱體積。 取小數(shù)點(diǎn)后兩位數(shù)字。請(qǐng)編程序。1、設(shè)圓半徑=1.5,圓柱髙=3,求圓周長(zhǎng)、圓面積、圓球表面積、 用scanf輸入數(shù)據(jù),輸出計(jì)算纟,輸出時(shí)要求文字說(shuō)明,#in elude <stdio.h> mai n()float r,h,C1,Sa,Sb,Va,Vb; sca nf(_”f”_,&r)scanf( ”d;'_ &h_); C1=2*3.14*r;Sa=3.14*r*r;Sb=4*Sa;Va=4*3.14*r*r*r/3;Vb=Sa*h;”CI=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2fp

2、rintf(2、輸入一個(gè)華氏溫度,要求輸出攝氏溫度。公 式為=5(F-32)/9 輸出要求有文字說(shuō)明,取位#in clude <stdio.h>小數(shù)?!盋I,Sa,Sb,Va,Vb);mai n()main()float F,c;sea nf("%f",&F);c=5*(F-32)/9.prin tf("c=%.2f",c); x <13、有一函數(shù):y2xx 10寫一程序,輸入x值,輸出 y值。3x1110#i nclude <stdio.h> mai n()int x,y;printf("sca nf(&

3、quot;%d", &x);if(x<1) 輸入x :");/* x<1 */y=x;prin tf("x=%3d,y=x=%dn",x,y); else if (x<10) /* 1w x -10 */y=2*x-1=%dn",x,y); y=2*x-1prin tf("x=%3d, elsey=3*x-11;prin tf("x=%3d,/* x> 10 */y=3*x-11=%dn",x# in elude "stdio.h"int x,y;sca nf(&

4、quot;%d", &x);if(x<1) y=x;else if(x>=1 && x<10) y=2*x-1;else y=3*x-11; prin tf("%d",y);# in elude "stdio.h"main ()int x,y;sea nf("%d", &x);if(x<1) y=x;else if(x>=1 && x<10) y=2*x-1;else y=3*x-11; prin tf("%dn",y);

5、 # in clude "stdio.h" main () int x,y; sca nf("%d", &x);if(x<1) y=x;else if(x>=1 && x<10) y=2*x-1;else y=3*x-11; prin tf("%d",y); sca nf("%d", &x); if(x<1) y=x;else if(x>=1 && x<10) y=2*x-1;else y=3*x-11; main ()# in e

6、lude "stdio.h"int x,y;sca nf("%d", &x);if(xv1)y=x;else if(x>=1 && x<10)y=2*x-1;elsey=3*x-11; prin tf("%d",y); ,y);4、給定一個(gè)不多于5位的正整數(shù),要求:求它是幾位數(shù);按逆序打印出各位數(shù)字。例如原數(shù)為 321,應(yīng)輸出123。#i nclude <stdio.h>mai n()long int nu m,m=0;int i=0;sca nf("%ld",&am

7、p;nu m);while( num >0)統(tǒng)計(jì)長(zhǎng)度i+; /*m=m*10+num%10;*/num =nu m/10;數(shù)字長(zhǎng)度為:逆序數(shù)字為:%d",i);%dn",m);printf("printf("5、以下程序?qū)崿F(xiàn)的功能:求三個(gè)數(shù)的最大值#in clude<stdio.h>mai n()int a,b,c,max;sca nf("%d %d %d", &a,&b,&c); if(a>b)if( elsea>c)max=a;max=c; elseif( elseb>c

8、)max=b;mai n()max=c; prin tf("max= %d",max);#in clude <stdio.h>int x,y, z,t=0;sca nf("%d %d %d", &x,& y, &z); if(x>y)t=y;y=x;x=t;if(x>z)t=z;z=x;x=t;if(y>z)t=z;z=y;y=t;prin tf("%dn",z);6、輸入兩個(gè)正整數(shù)m和n ,求其最大公約數(shù)和最小公倍數(shù)。/*枚舉法*/#in cludevstdio.h> ma

9、i n()long m, n,i=1,j,s;sca nf("%ld,%ld",&m,&n); for(;i<=m&&iv=n;i+)if( m%i=O&&n %i=0) s=i;if(m >=n) j=m ;else j=n;for(;!(j%m=0&&j%n=0);j+); prin tf("s=%ld,j=%ldn",s,j); #i nclude <stdio.h>mai n()int a,b,k,te mp ,i, p;sca nf("%d,%d&

10、quot;, &a,&b); if(a>b)temp=b;elsetemp=a; for(i=2;iv=te mp ;i+) if(a%i=0 && b%i=0) k=i;prin tf("%dn",k);p 二a*b/k;prin tf("%dn", p);/*輾轉(zhuǎn)相除*/#in cludevstdio.h>int m,n ,k,j, p,r=1;sea nf("%d,%d",&m,&n);k= m>n? m: n;j= m>n? n:m;dor= k%j ;

11、k=j;j=r;while( r!=0 ); prin tf("%d,%d",k,m* n/k); /*反復(fù)減法*/#in clude<stdio.h>mai n()int m,n ,k,j, p,r=1;sea nf("%d,%d",&m,&n);k= m>n? m:n; j= m>n?n:m;dop= k-j ;if(j>P) k=j; j=p;else k=p;while( p!=0 ); prin tf("%d,%d",k,m* n/k); 7、輸入一行字符,分別統(tǒng)計(jì)出其中英文字母

12、、空格、數(shù)字和其他字符的個(gè)數(shù)。#in clude"stdio.h"mai n()char e;i nt i=0,j=0,k=0,l=0;while(c=getchar()!=英文字母統(tǒng)計(jì)if( c>= ' A' &&c<= ' Z' |c>= ' a' &&c<= ' z') i+; /else if(j+; /else if(e>=' O' &&e<= ' 9')數(shù)字統(tǒng)計(jì)k+;/else l+;

13、e='')空格統(tǒng)計(jì)prin tf("i=%d,j=%d,k=%d,l=%dn",i,j,k,l);8、求 Sn=a+aa+aaa+,+aa, aaa (有 n 個(gè) a )之值, 其 中a是一個(gè)數(shù)字。例如:2+22+222+2222+22222( n=5 ), n 由鍵盤輸入。#i nclude <stdio.h>mai n()int a,n;“d %d ” ,&a,&n);long b=0,sum=0;sca nf(for (i=1;i<=n ;i+)sum =b*10+a ;sum+b;printf (“ %ld ” ,s

14、um);9、打印出所有3+53+3 3。身。153=1【程序1】"水仙花數(shù)",所謂"水仙花數(shù)"是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該本例如:153是一個(gè)水仙花數(shù),因?yàn)?in clude<stdio.h>mai n()int i,m, n,k;for(i=100;i<1000;i+)m=_ i%10_n= i/10%10k=i/100;if(_m*m*m+n*n*n+k*k*k=iprin tf("%5d",i);【程序#in clude<stdio.h>mai n() int i,a, n,s;for (

15、i=100;iv=999;i+)n=i;s=0;while( n>0) a=_ s+=a*a*a;n %10n /=10if (_10、一個(gè)數(shù)如果恰好等于它的因子之和,而6=1+2+3,因此6是"完數(shù)"。編程序找出子: 6 its factors are 1、2、3s=i _) printf(“d” ,i);這個(gè)數(shù)就稱為"完數(shù)"。例如,6的因子為1、2、3,1000之內(nèi)的所有完數(shù),并按下面格式輸出其因#i nclude <stdio.h>for (_if (!(a%i)if (m=a) prints11、利用:#4=1-1/3+1/5-

16、1/7+ 求絕對(duì)值的函數(shù)為fabs()?!?d ” ,a);,.級(jí)數(shù)求工的值,直到最后一項(xiàng)的絕對(duì)值小于10-6 為止。#in cludevstdio.h>#in cludevmath.h>mai n()int i=1,flag=1;double sum=0.0,s;dos=_1.0/(2*i-1)sum+=s*flag;i+;_ flag=-flag _;while(_fabs(prin tf(" pi=%f",_s)>1e-6_);/*/4*sum _);11、有一分?jǐn)?shù)序列:2/1,3/2,5/3,求出這個(gè)數(shù)列的前20項(xiàng)之和。mai n() int a,

17、i,m;for (a =1; av=1000;a+) i=1,m=0 _; i v= a/2;i+)m+=i ;main()#in cludevstdio.h>#defi ne N 20mai n()int i=1;double x=1,y=2, sum=0;while(_iv=20 _) sum=sum+_ y/xx+y_;y-x _;i+;prin tf("%fn",sum);10次12、一球從100米高度自由下落,每次落地后返回原高度的一半,再落下。求它在第 落地時(shí)共經(jīng)過(guò)多少米?第10次反彈多高?#i nclude vstdio.h>int i,n=10;

18、double h=100,s=100;for(i=2;iv=n ;i+)h*=0.5 s= s+h*2prin tf("s=%f,h=%fn",s,h); 13、猴子吃桃問(wèn)題。猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不過(guò)癮,又多吃了一 個(gè)。第二天早上又將剩下的桃子吃掉一半,又多吃一個(gè)。以后每天早上都吃了前一天剩下 的一半零一個(gè)。到第 10天早上想再吃時(shí),見只剩下一個(gè)桃子了。求第一天共摘多少桃子。#i nclude <stdio.h>#defi ne N 10mai n()int i=1,sum=1;while(i+vN)sum=_(sum+1)*2prin t

19、f("sum=%dn",sum);14、用迭代法求。求平方根的迭代公式為:0.00001 o要求前后兩次求出的得差的絕對(duì)值少于#in clude vstdio.h>#in clude vmath.h>mai n()float x0,x1,a;sca nf("%f", &a);x1=a/2;dox1=_ (x0+a/x0)/2_x1>1e-5 _);x0=x1; while(prin tf("%gn",x1);3 X2 + X -=15、用牛頓迭代法求方程2x 4360在1.5附近的根。#in clude vs

20、tdio.h>#in clude<math.h>#defi ne f(x) 2*x*x*x-4*x*x+3*x-6 mai n()1.5double x,y;x=_doy = f(x);x = x - y/(6*x*x-8*x+3); while(fabs(y)>1e-6);prin tf("x=%.3fn",x);3 x216、用二分法求方程2x 4x+.=360在(-10,10)之間的根#in elude <stdio.h>#in elude <math.h>#define f(x) 2x*x*x-4*x*x+3*x-6

21、mai n()double x1=-10,x2=10,x,y;dox=(x1+x2)/2;y=f(x);if(y<0) x1=x;else x2=x;while(fabs(y)>1e-6); prin tf("x=%gn",x);17、以下程序的功能是:輸入一個(gè)百分制成績(jī),輸出一個(gè)五級(jí)制成績(jī)等級(jí)。例如 輸出C。請(qǐng)完成填空輸入75,#in elude<stdio.h>mai n()int score;scanf(”_ switch(_%d_", &score);score/10 _)case 1:case 2:case 3:case

22、4:case 5:printf( grade Encase 6: printf(case 7: printf(case 8: printf(breakcase 9: printf(“grade Dn grade Cn grade Bn grade An” );break; ”);break; ”);break; ”);break;default_:prin tf("Error inpu t!n");18、該程序功能:對(duì)x=12,10,求#in clude <stdio.h>f(x)=x*x-5*x+si n(x)的最大值。#in clude <math.h

23、>#defi ne f(x) x*x-5*x+s in(x) void mai n()int x; float max;_ max=f(1) _; for(x=2;x<=10;x+)_ if(max<f(x) max=f(x) prin tf("%fn",max);19、程序功能:輸入整數(shù)2 2 2 2a和b的值,若 a +b大于100,則輸出 a+b百位以上的數(shù)字,否則輸出兩數(shù)之和。#in cludevstdio.h>mai n() int a,b,s;sea nf("%d%d", &a,&b);s=a*a+b*

24、bs/100 _);a+b_);if(s>100) prin tf("%d", else printf("%d",_ 20、有1020個(gè)西瓜,第一天賣一半多兩個(gè),以后每天賣剩下的一半多兩個(gè),以下程序統(tǒng)計(jì) 賣完所需的天數(shù)。#in elude vstdio.h>mai n()int day,x1,x2;day=0;x1=1020;while(_x1>0_)x2=xl/2-2“ day=%dprintf(21、找出整數(shù)的所有因子#in elude vstdio.h>x1=x2; day+ ”,day);mai n() int i,x;s

25、eanf( “ %d ”,&x);i=1;for (;iv=x/2;)if (x%i=0) prin tf(%d i+;” ,i);22、統(tǒng)計(jì)用數(shù)字0-9可以組成多少個(gè)各位上的數(shù)字沒有重復(fù)的#in elude vstdio.h>3位偶數(shù)。mai n()int n=0,i,j,k;for (i = 1;i v= 9;i+)for (k = 0;k v= 8; _if (k != i)for (j = 0;j v= 9;j+)k+=2_)if (_prints“ n=%dn23、用100元換成 1、#in elude vstdio.h>j!=i&&j!=k” ,

26、n);)n+;2、5元的所有兌換方案。mai n() int i,j,k,l=0;for (i = 0; iv=20;i+)for (j =0; j<=50; j+) k= _(100-i-2*j)/5if (_ printf( l = l + 1;i+j*2+k*5=100_)“ %2d %2d %2d” ,i,j,k);if (l%5=0) printf(“1 » n );24、輸出#i nclude vstdio.h>1-100之間滿足每位數(shù)的乘積大于每位數(shù)的和的數(shù)mai n() int n ,k=1,s=0,m;for (n=1; n <=100; n+)

27、k=1; s=0;m=nwhile (_k *=m%10;s+=m%10;m>0_) m/=10if (k>s) printf(“d ”,n);25、從3個(gè)紅球、能的方案。5個(gè)白球、6個(gè)黑球中任意取出8個(gè)球,且其中必須有白球,輸出所有可#in elude <stdio.h>mai n() int i,j,k;for (i=0;iv=3;i+)for (_k = 8j=1 _; jv=5;j+) -i - I;k>=0_)“ %3d %3d %3dn” ,i,j,k);if (_printf(26、以下程序的功能是:判斷一個(gè)四位數(shù)是否滿足這樣的條件:它的 數(shù)。反序數(shù)

28、是指整數(shù)各個(gè)位上的數(shù)字逆序所形成的整數(shù)。請(qǐng)完成程序的填空。9倍剛好是它的反序#in cludevstdio.h>mai n()int i,a,b,c,d,m;for(i=1000;i+)a= i%10 b=i/10%10;c=i/100%10;d=i/1000;m= a*1000+b*100+c*10+dif(m=i*9 _)breakprin tf("i=%d",i);27、以下程序完成兩整數(shù)的交換。#in clude <stdio.h>mai n()int a,b;printf( sca nf( a=a+b;“請(qǐng)依次輸入 a,b的值:”);%d,%d

29、”,_&a,&b_);b=a-ba=a-bprintf(“交換后:a=%d,b=%d” ab);28、以下程序的功能是判斷輸入的年份是否為閏年,#in clude <stdio.h>若是則輸出”yes ”,否則輸出” No ” 。mai n()int year ;sca nf(“d ”,&year);if (_else pnntf(year%400=0|year%4=0&&year%100!=0No ”);)printf(yes );10個(gè)數(shù)進(jìn)行排序。29、以下程序利用冒泡排序法對(duì)輸入的#in clude <stdio.h> #d

30、efi ne N 10 void mai n() :N:;int i,j,t;int apnntf(input 10 nu mbers :nfor (i=0;i<N;i+);sca nf("%d" prin tf("n");,&ai_);for(j=0;j<N-1;j+)for(i=0;iv_N-j-1if (_ai>ai+1t=ai; ai=ai+1;_;i+)_) :i+1 : =t;printf( for(i=0;ivN;i+)the sorted nu mbers :n);printf( printf( d ,a : i

31、 :);n );30、用篩法求 同時(shí)篩去它及它的倍數(shù)。倍數(shù)。3、重復(fù)步驟#defi ne M 100 /范圍#defi ne N (M+1)/2)/ void main( ) int i,j,aN;a0 = 2;奇數(shù)的個(gè)數(shù)for(i=1;ivN-1;i+) ai = 2*i+1;/*初始數(shù)組實(shí)現(xiàn)第一步篩選*/*for(i=1;ivN-1;i+) if(_for(j=i+1;jvN;j+)第二步篩選 */ai!=0_)if(_aj=0;prin tf("nThe primer are 2-%d:n",M);aj%ai=0)/*倍數(shù)時(shí)置零篩去*/*for(i=0,j=0;ivN

32、;i+) if(_ai!=0_) prin tf("%5d",ai);顯示得到素?cái)?shù)*/if(+j)%10=0)/*prin tf("n");十個(gè)數(shù)換行*/getch();31、用選擇法對(duì)10個(gè)整數(shù)從小到大排序。#in elude vstdio.h>#defi ne N 10main()int aN,i,j,k,t;for (i=0;i<N;i+) sca nf( for (i=0;i<N-1;i+)“ %d ”,& ai);k=_ i _;for(j=i+1;jvN;j+)if(aj<ak) k=_if (_ai>a

33、k_)t=ak; ak=ai;ai=t; 100之內(nèi)的素?cái)?shù)。篩法素?cái)?shù)的思想是:1、取最小的數(shù) 2,并聲明它是素?cái)?shù),2、取未篩去數(shù)中最小的數(shù),并聲明它是素?cái)?shù),同時(shí)篩去它及它的至篩中無(wú)數(shù),得到所有的素?cái)?shù)。#i nclude <stdio.h>for(i=0;i<N;i+) printf(“d ”,ai); 32、求一個(gè) N X N矩陣主對(duì)角線元素、次對(duì)角線之和。#defi ne N 3 #in elude <stdio.h> mai n() int i=0,j=0,aNN,s1=0,s2=0;for(i=0;i<N;i+)for(j=0;j<N;j+)sc

34、a nf("%d", &aij);for(i=0;i<N;i+)if(if(i=j _) s1+=aij;/i+j=N-1_) s2+=aij;/主對(duì)角線次對(duì)角線prin tf("s1=%d,s2=%dn",s1,s2);33、已有一個(gè)已排好的數(shù)組今輸入一個(gè)數(shù)要求按原來(lái)排序的規(guī)律將它插入數(shù)組中。#defi ne N 10#i nclude <stdio.h>mai n() int i,t,aN=1,7,8,17,23,24,59,62,101;sca nf("%d", &t);for(i=N-2;i&

35、gt;0;i-)if(t<ai) else break;ai=ai-1ai+1= t for(i=0;i<10;i+)prin tf("%5d",ai);34、將一個(gè)數(shù)組的值按逆序重新存放,例如,原來(lái)順序?yàn)?8,6,5,4,1。要求改為:1,4, 5 , 6, 8 o#in clude <stdio.h>#defi ne N 11main()int i,aN,t mp; for(i=0;i<N;i+)sca nf("%d", &ai);for(i=0;. tmp=ai;i<N/2 _;i+) for(j=0;j

36、<N;j+)ai= _aN-i-1_ aN-i-1_=tmp;for(i=0;i<N;i+)prin tf("%5d",ai);35、打印“魔方陣”,所謂魔方陣是指這樣的方陣,它的每一行、每一列和對(duì)角線之和均相 等。例如,三階魔方陣為要求打印出由21_ n的自然數(shù)構(gòu)成的魔方陣。#defi ne N 3#in clude <stdio.h>mai n( ) int i,j,k,aNN;/* 初始化魔方陣for(i=0;ivN;i+)for(j=0;jvN;j+)置為0 ,作為有無(wú)數(shù)字的判斷*/aij=j=N/2;a0j=1; /*存放第一個(gè)數(shù)字*/*

37、存放2n*n */for(k=2;kv=N*N;k+)i-; /_ j+=1數(shù)存放前一數(shù)行數(shù)減1、列數(shù)加 1if (i v 0 && j > N-1) / i=i+2; j-; else if(iv0)到達(dá)右上角的位置i=_ n-1 _; /上一數(shù)的行數(shù)為 0 ,下一數(shù)的行數(shù)為 n-1if(j>N-1)j=0;/上一數(shù)的列數(shù)為 n-1時(shí),下一數(shù)的列數(shù)為0if(_aij!=0/若下一數(shù)的位置上已經(jīng)有數(shù)字,1的位置_) /則下一數(shù)存到上一個(gè)數(shù)行數(shù)加i=(i+2)%N;j=(j -1 + N)%N;aij= _k ; /填數(shù)輸出魔方陣for(i=0;ivN;i+) /pr

38、in tf("");for(j=0;jvN;j+)prin tf("%4d",aij);prin tf("nn");36、找出一個(gè)二位數(shù)組中的鞍點(diǎn),即該位置上的元素在該行上最大,在該列上最小,也可 能沒有鞍點(diǎn)。#i nclude <stdio.h>#defi ne M 5#defi ne N 4mai n()int aMN,i,j,x,y,k,max,mi n; /x,y用于指示是否存在鞍點(diǎn)分別是用來(lái)記錄鞍點(diǎn)的位置in t flag=0; / for(i=0;ivM;i+)for(j=0;jvN;j+)sca nf(&qu

39、ot;%d", &aij);for(i=0;ivM;i+) max=ai0; y=0; / for(k=1;kvN;k+)先默認(rèn)第一個(gè)數(shù)是最大值if(maxvaik) y=k;min=aiy; x=i; / for(k=0;kv5;k+)max=aik _;先默認(rèn)第一個(gè)數(shù)是最小值if(mi n> aky) x=k;_if(_ i=k _)prin tf("a%d%d=%d flag=1;mi n=aky;是鞍點(diǎn) n",x,y,axy);if (flag =0) prints“不存在鞍點(diǎn)n ”;37、有個(gè)15數(shù)按由小到大順序存放在一個(gè)數(shù)組中,輸入一個(gè)數(shù)

40、,要求用折半查找法找出該 數(shù)組中第幾個(gè)元素的值。如果該數(shù)不在數(shù)組中,則打印出"無(wú)此數(shù)"#in elude vstdio.h> #defi ne N 15 mai n()int low,high,mid,x;int aN=1,4,9,13,21,34,55,89,144,233,377,570,671,703,812;low=0,high=N-1;sca nf("%d", &x);domid=_(low+high)/2if(amid=x) break;else if(amidvx) low=_mid+1mid-1else high=_whil

41、e(lowv=high);if(lowv=high) prin tf("x is the %dth numbern",mid+1); else prin tf("x not exist in the array n");38、輸入一行字符,統(tǒng)計(jì)其中有多少個(gè)單詞,單詞之間用格分開#in clude <stdio.h> void mai n() char string 81 ;int i , num=0 , word=0; char c;gets(stri ng);for (i=0;(c=stri ng if(c= ' ')wor

42、d=0;else if(word=0) :i : ) != '0 _;i+)word= 1nu m+;printf(39、輸出10行的楊輝三角形 There are %d words in the line. n ,num);#i nclude <stdio.h>#defi ne N 10mai n()int i,n ,k,aN=1;printf(%5dn ”,a0);for(i=1;i<N;i+)for(j=i;j>=1;j-) aj= _for(j=0; _j<=i _;j+) printf(printf(“n ”);40、以下程序的功能是:從鍵盤輸入

43、一個(gè)整數(shù) 依次輸出各個(gè)數(shù)組元素的值,然后找出最大值,并aj+aj-1_%5d ”aj);n (n < 10 )和n個(gè)整數(shù),存入數(shù)組a中輸出。#in clude<stdio.h>main()int a10, n,i,j, printf(" 輸入 n=");sca nf("%d",&n);maxprin tf("輸入各數(shù)組元素:for(i=0;i< n;i+)");printf("sca nf("%d", _& ai輸出各數(shù)組元素:_);");for(_i=0

44、;i< n;i+_ )ai _ );aiprin tf("%d ", _ prin tf("n");max=_ a0 _ ; for(j=1;jv n;j+) if(ai>max) _max=printf("最大值: %dn",max);41、以下程序?qū)崿F(xiàn)的功能是:將字符串#in cludevstdio.h>s中所有的字符c刪除。請(qǐng)完成程序填充#in cludevct yp e.h> mai n()char s80;int i,j; gets(s);for(i=j=0; _if(si!='c')

45、si!=' 0 '_;i+)sj=si;_ j+sj='0'P uts(s);42、以下程序的功能是:按順序讀入 并輸出,請(qǐng)完成程序填充。10名學(xué)生4門課程的成績(jī),計(jì)算出每位學(xué)生的平均分#in cludevstdio.h>#defi ne N 10mai n()int n,k;float score,sum,ave;for(n=1; nv=N;n+)sum=0for(k=1;kv=4;k+)sca nf("%f", &score);sum+=scoresum/=4prin tf("NO.%d:%fn" ,n

46、,ave);43、本程序的功能是:輸入一串字符,將字符串中的字符反序輸出。#in clude vstdio.h>#in elude <stri ng.hmai n()int i,j,k;char str80;gets(str);for(i=0,j=_ k=stri; stri=strj; strj=k;n-1 _;ivj;i+,j-)puts(_ str _);44、求方程ax根,并輸出結(jié)果。從主函數(shù)輸入2+bx+c=0的根,用三個(gè)函數(shù)分別求當(dāng)a、b、c的值。b2-4ac大于0、等于 0、和小于 0時(shí)的#in elude vstdio.h>#in elude vmath.h&

47、gt;void doubleRoots(double a,double b,double c)double x1,x2,delta;delta=b*b-4*a*cx1=(-b+sqrt(delta)/(2*a);x2=(-b-sqrt(delta)/(2*a);prin tf("Equatio n has two differe nt roots: n");prin tf("x1=%g,x2=%g",x1,x2);void Sin gleRoot(double a,double b,double c) double x1;x1 = _-b/2/a_;pr

48、in tf("Equatio n has two equal roots:n");prin tf("x1=x2=%g",x1);void NoRoot(void)prin tf("No real root found for the equati onn");mai n()double a,b,c,delta;sca nf("%lf%lf%lf", &a,&b,&c); delta=b*b-4*a*c;if(delta>0) _doubleRoots(a,b,c)else if(del

49、tav0) _NoRoot()_;elseSi ngleRoot(a,b,c)45、寫一個(gè)判斷素?cái)?shù)的函數(shù),在主函數(shù)輸入一個(gè)整數(shù),輸出是否是素?cái)?shù)的消息。#in clude vstdio.h> #in clude vmath.h>void IsP rime( int i;int n _)int k=sqrt (n);for(i=2; _iv=k _;i+)if(n %i=0) break;if(i>=k+1) prin tf("%dis P rime nu mbern", n);else prin tf("%d is not P rime nu mb

50、ern", n); mai n()int n;sca nf("%d",&n);IsPrime(_n_);3246、用牛頓迭代法求根。方程為1附近的一個(gè)實(shí)根。求出后由主函數(shù)輸出。#in clude vstdio.h>ax +bx +cx+d=0,系數(shù) a, b, c, d由主函數(shù)輸入。求 x在#in elude <math.h>double Equati on Root(double a,double b,double c,double d) double x,y;x=1;doy=a*x*x*x+b*x*x+c*x+d;x=x-y/(3*a

51、*x*x+2*b*x+c);while(_fabs( returny)>1e-6 _);mai n()double a,b,c,d,x;x=sea nf("%lf %lf %lf %lf", &a,&b, &c,&d);Equatio nRoot(a,b,c,d) prin tf("x=%g",x);47、輸入10個(gè)學(xué)生5門課的成績(jī),分別用函數(shù)求:每個(gè)學(xué)生平均分;找出最高分所對(duì)應(yīng)的學(xué)生和課程; 求平均分方差:nXi每門課的平均分;-x()2其中? 八Xi為一學(xué)生的平均分。#in elude <stdio.h&g

52、t; #defi ne M 5 #defi ne N 10 void EachStude ntEverageMark(float a,i nt m,i nt n)/*求每個(gè)學(xué)生的平均分。m-學(xué)生數(shù),n-課程數(shù)*/int i,j;float sum;for(i=0;i<m;i+) sum=O.O; for(j=0;jv n;j+)sum+=aji;prin tf("average mark of the %dth stu is%gn",i+1,sum/n);void EachCourseEverageMark(/*每門課的平均分*/int i,j;float sum;f

53、loat a,int m,i nt n)for(i=0;iv n;i+)sum=0.0;for(j=0;jvm;j+)sum+=aij;prin tf("average mark of the %dth stu is%gn",i+1,sum/n);void MaxSeore(float a,i nt m,i nt n)/*找出最高分所對(duì)應(yīng)的學(xué)生和課程int i,j,s,t;float max=a00;s=0,t=0;*/for(i=0;iv n;i+)for(j=0;jvm;j+) if(maxvaij) max=aij;s = i;prin tf("the %dth course and the %dth stu has the maxn ”,s,t);void AverageVaria nce(float a,i nt m,i nt n)/*求平均分方差*/float delta,ave,avesq=0,avesum=0;int i,j;for(i=0;ivm;i+)ave=0;for(j=0;jv n

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論