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

下載本文檔

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

文檔簡(jiǎn)介

1、C語言程序設(shè)計(jì)(第三版)習(xí)題庫(kù)1、設(shè)圓半徑r=1.5,圓柱高h(yuǎn)=3,求圓周長(zhǎng)、圓面積、圓球表面積、圓球體積、圓柱體積。用scanf輸入數(shù)據(jù),輸出計(jì)算結(jié)果,輸出時(shí)要求文字說明,取小數(shù)點(diǎn)后兩位數(shù)字。請(qǐng)編程序。 #include <stdio.h>main()float r,h,C1,Sa,Sb,Va,Vb; scanf(_”%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; printf(_”Cl=%.2fSa=%.2fSb=%.2fVa=

2、%.2fVb=%.2f”,Cl,Sa,Sb,Va,Vb);2、輸入一個(gè)華氏溫度,要求輸出攝氏溫度。公式為 c=5(F-32)/9 輸出要求有文字說明,取位2小數(shù)。 #include <stdio.h>main()float F,c; scanf("%f",&F); _c=5*(F-32)/9_; printf("c=%.2f",c); 3、有一函數(shù): 寫一程序,輸入x值,輸出y值。 #include <stdio.h> main()int x,y; printf("輸入x:"); scanf("

3、;%d",&x); if(x<1) /* x<1 */ y=x; printf("x=%3d, y=x=%dn",x,y); else if (_x<10_) /* 1x-10 */ _y=2*x-1_; printf("x=%3d, y=2*x-1=%dn",x,y); else /* x10 */ y=3*x-11; printf("x=%3d, y=3*x-11=%dn",x# include "stdio.h"main() int x,y; scanf("%d&

4、quot;,&x); if(x<1) y=x; else if(x>=1 && x<10) y=2*x-1; else y=3*x-11; printf("%d",y);# include "stdio.h"main() int x,y; scanf("%d",&x); if(x<1) y=x; else if(x>=1 && x<10) y=2*x-1; else y=3*x-11; printf("%dn",y);# inclu

5、de "stdio.h"main() int x,y; scanf("%d",&x); if(x<1) y=x; else if(x>=1 && x<10) y=2*x-1; else y=3*x-11; printf("%d",y);scanf("%d",&x); if(x<1) y=x; else if(x>=1 && x<10) y=2*x-1; else y=3*x-11; # include "stdio.h&q

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

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

8、; else max=c; printf("max= %d",max);#include <stdio.h> main() int x,y,z,t=0; scanf("%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; printf("%dn",z); 6、輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。 /*枚舉法*/#include<stdio.h>

9、main() long m,n,i=1,j,s; scanf("%ld,%ld",&m,&n); for(;i<=m&&i<=n;i+) if(m%i=0&&n%i=0) s=i; if(m>=n)j=m; else j=n; for(;!(j%m=0&&j%n=0);j+); printf("s=%ld,j=%ldn",s,j); #include <stdio.h> main()int a,b,k,temp,i,p;scanf("%d,%d&quo

10、t;,&a,&b); if(a>b) temp=b; else temp=a; for(i=2;i<=temp;i+) if(a%i=0 && b%i=0) k=i; printf("%dn",k); p=a*b/k; printf("%dn",p); /*輾轉(zhuǎn)相除*/#include<stdio.h>main()int m,n,k,j,p,r=1;scanf("%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);printf("%d,%d",k,m*n/k);/*反復(fù)減法*/#include<stdio.h>main()int m,n,k,j,p,r=1;scanf("%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);printf("%d,%d",k,m*n/k);7、輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其他字符的個(gè)數(shù)。

12、 #include"stdio.h" main() char c;int i=0,j=0,k=0,l=0; while(c=getchar()!=n) if(c>=A&&c<=Z|c>=a&&c<=z) i+; /英文字母統(tǒng)計(jì)else if(c>=0&&c<=9) j+; /數(shù)字統(tǒng)計(jì)else if(c= ) k+; /空格統(tǒng)計(jì)else l+; printf("i=%d,j=%d,k=%d,l=%dn",i,j,k,l); 8、求Sn=a+aa+aaa+aaaaa(有n個(gè)a

13、)之值,其中a是一個(gè)數(shù)字。例如:2+22+222+2222+22222(n=5),n由鍵盤輸入。 #include <stdio.h>main() int a,n; long b=0,sum=0; scanf(“%d %d”,&a,&n); for (i=1;i<=n;i+) b = b*10+a; sum =sum+b; printf (“%ld”,sum);9、打印出所有"水仙花數(shù)",所謂"水仙花數(shù)"是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該本身。例如:153是一個(gè)水仙花數(shù),因?yàn)?53=13+53+33。 【程序1】#i

14、nclude<stdio.h>main()int i,m,n,k;for(i=100;i<1000;i+)m=_i%10_; n=_ i/10%10_; k=i/100; if(_m*m*m+n*n*n+k*k*k=i_) printf("%5d",i);【程序2】#include<stdio.h>main()int i,a,n,s;for (i=100;i<=999;i+) n=i;s=0; while(n>0) a=_n%10_; s+=a*a*a; n /=_10_; if (_s=i_) printf(“%d”,i);10、

15、一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為"完數(shù)"。例如,6的因子為1、2、3,而6=1+2+3,因此6是"完數(shù)"。編程序找出1000之內(nèi)的所有完數(shù),并按下面格式輸出其因子: 6itsfactorsare1、2、3 #include <stdio.h>main() int a,i,m; for (a =1; a<=1000;a+) for (_i=1,m=0_; i <= a/2;i+) if (!(a%i) _m+=i_; if (m=a) printf(“%4d”,a); 11、利用:p/4=1-1/3+1/5-1/7+.級(jí)

16、數(shù)求p的值,直到最后一項(xiàng)的絕對(duì)值小于10-6為止。求絕對(duì)值的函數(shù)為fabs()。#_include<stdio.h>_#include<math.h>main() int i=1,flag=1; double sum=0.0,s; do s=_1.0/(2*i-1)_; sum+=s*flag; i+; _flag=-flag_; while(_fabs(s)>1e-6_);/*/printf("pi=%f",_4*sum_);11、有一分?jǐn)?shù)序列:2/1,3/2,5/3, 求出這個(gè)數(shù)列的前20項(xiàng)之和。 #include<stdio.h&g

17、t;#define N 20main() int i=1;double x=1,y=2, sum=0; while(_i<=20_) sum=sum+_y/x_;y = _x+y_;x = _y-x_;i+; printf("%fn",sum);12、一球從100米高度自由下落,每次落地后返回原高度的一半,再落下。求它在第10次落地時(shí)共經(jīng)過多少米?第10次反彈多高?#include <stdio.h>main() int i,n=10;double h=100,s=100; for(i=2;i<=n;i+) h*=_0.5_; s=_s+h*2_;

18、printf("s=%f,h=%fn",s,h); 13、猴子吃桃問題。猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不過癮,又多吃了一個(gè)。第二天早上又將剩下的桃子吃掉一半,又多吃一個(gè)。以后每天早上都吃了前一天剩下的一半零一個(gè)。到第10天早上想再吃時(shí),見只剩下一個(gè)桃子了。求第一天共摘多少桃子。 #include <stdio.h>#define N 10main() int i=1,sum=1; while(i+<N)sum=_(sum+1)*2_; printf("sum=%dn",sum); 14、用迭代法求 。求平方根的迭代公式為:

19、要求前后兩次求出的得差的絕對(duì)值少于0.00001。 #include <stdio.h>#include <math.h> main() float x0,x1,a; scanf("%f",&a); x1=a/2; do x0=x1;x1=_(x0+a/x0)/2_; while(_x1>1e-5_); printf("%gn",x1); 15、用牛頓迭代法求方程在1.5附近的根。 #include <stdio.h>#include _<math.h>_#define f(x) 2*x*x*

20、x-4*x*x+3*x-6 main() double x,y;x=_1.5_; doy = f(x); x = x - y/(6*x*x-8*x+3); while(fabs(y)>1e-6); printf("x=%.3fn",x); 16、用二分法求方程在(-10,10)之間的根 #include <stdio.h>#include <math.h> #define f(x) 2x*x*x-4*x*x+3*x-6main() double x1=-10,x2=10,x,y;do x=(x1+x2)/2; y=f(x); if(y<0

21、) x1=x; else x2=x;while(fabs(y)>1e-6);printf("x=%gn",x); 17、以下程序的功能是:輸入一個(gè)百分制成績(jī),輸出一個(gè)五級(jí)制成績(jī)等級(jí)。例如 輸入75,輸出 C。請(qǐng)完成填空#include<stdio.h>main() int score; scanf("_%d_",&score); switch(_score/10_) case 1:case 2:case 3:case 4:case 5: printf(“grade En”); _break_; case 6: printf(“g

22、rade Dn”);break;case 7: printf(“grade Cn”);break;case 8: printf(“grade Bn”);break;case 9: printf(“grade An”);break; _default_:printf("Error input!n"); 18、該程序功能:對(duì)x=1,2,.,10,求f(x)=x*x-5*x+sin(x)的最大值。#include <stdio.h>#include <math.h>#define f(x) x*x-5*x+sin(x)void main() int x;

23、float max; _max=f(1)_; for(x=2;x<=10;x+) _if(max<f(x) max=f(x)_; printf("%fn",max);19、程序功能:輸入整數(shù)a和b的值,若a2+b2大于100,則輸出a2+b2百位以上的數(shù)字,否則輸出兩數(shù)之和。#include<stdio.h>main()int a,b,s; scanf("%d%d",&a,&b); s=_a*a+b*b_; if(s>100) printf("%d",_s/100_); else prin

24、tf("%d",_a+b_);20、有1020個(gè)西瓜,第一天賣一半多兩個(gè),以后每天賣剩下的一半多兩個(gè),以下程序統(tǒng)計(jì)賣完所需的天數(shù)。#include <stdio.h>main() int day,x1,x2; day=0;x1=1020; while(_x1>0_) x2=_x1/2-2_; x1=x2; day+ printf(“day=%d”,day);21、找出整數(shù)的所有因子#include <stdio.h>main()int i,x;scanf(“%d”,&x);i=1;for ( ; _i<=x/2_;) if (x%

25、i=0) printf(%d”,i); i+;22、統(tǒng)計(jì)用數(shù)字0-9可以組成多少個(gè)各位上的數(shù)字沒有重復(fù)的3位偶數(shù)。#include <stdio.h>main() int n=0,i,j,k; for (i = 1;i <= 9;i+) for (k = 0;k <= 8; _k+=2_) if (k != i) for (j = 0;j <= 9;j+) if (_j!=i&&j!=k_) n+;printf(“n=%dn”,n);23、用100元換成1、2、5元的所有兌換方案。#include <stdio.h>main() int

26、 i,j,k,l=0; for (i = 0; i<=20;i+) for (j =0; j<=50; j+) k= _(100-i-2*j)/5_; if (_i+j*2+k*5=100_) printf(“%2d %2d %2d”,i,j,k); l = l + 1; if (l%5=0) printf(“n”); 24、輸出1-100之間滿足每位數(shù)的乘積大于每位數(shù)的和的數(shù)#include <stdio.h>main() int n,k=1,s=0,m; for (n=1; n<=100; n+) k=1; s=0; _m=n_; while (_m>0

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

28、的數(shù)字逆序所形成的整數(shù)。請(qǐng)完成程序的填空。#include<stdio.h>main()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+d_; if(_m=i*9_) _break_; printf("i=%d",i);27、以下程序完成兩整數(shù)的交換。#include <stdio.h>main() int a,b; printf(“請(qǐng)依次輸入a,b的值:”); scanf(“%d,%d”, _&a,&

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

30、o.h>#define N 10void main() int aN; int i,j,t; printf(input 10 numbers :n); for (i=0;i<N;i+) scanf("%d",_&ai_); printf("n"); for(j=0;j<N-1;j+) for(i=0;i<_N-j-1_;i+) if (_ai>ai+1_) t=ai; ai=ai+1; ai+1=t; printf(the sorted numbers :n); for(i=0;i<N;i+) printf(%

31、d ,ai); printf(n);30、用篩法求100之內(nèi)的素?cái)?shù)。篩法素?cái)?shù)的思想是:1、取最小的數(shù)2,并聲明它是素?cái)?shù),同時(shí)篩去它及它的倍數(shù)。2、取未篩去數(shù)中最小的數(shù),并聲明它是素?cái)?shù),同時(shí)篩去它及它的倍數(shù)。3、重復(fù)步驟2至篩中無數(shù),得到所有的素?cái)?shù)。#include <stdio.h>#define M 100 / 范圍 #define N (M+1)/2) / 奇數(shù)的個(gè)數(shù)void main( )      int i,j,aN;     a0 = 2;     f

32、or(i=1;i<N-1;i+)  /* 初始數(shù)組實(shí)現(xiàn)第一步篩選 */          ai = 2*i+1;     for(i=1;i<N-1;i+)  /* 第二步篩選 */          if(_ai!=0_)          &#

33、160;    for(j=i+1;j<N;j+)                    if(_aj%ai=0_) /* 倍數(shù)時(shí)置零篩去 */                   &

34、#160;     aj=0;     printf("nThe primer are 2-%d:n",M);     for(i=0,j=0;i<N;i+)    /* 顯示得到素?cái)?shù) */          if(_ai!=0_)          &

35、#160;      printf("%5d",ai);               if(+j)%10=0)  /* 十個(gè)數(shù)換行 */                    printf(

36、"n");                    getch();31、用選擇法對(duì)10個(gè)整數(shù)從小到大排序。 #include <stdio.h>#define N 10main() int aN,i,j,k,t; for (i=0;i<N;i+) scanf(“%d”,&ai); for (i=0;i<N-1;i+) k=_i_; for(j=i+1;j<N;j+) i

37、f(aj<ak) k=_j_; if (_ai>ak_) t=ak; ak=ai;ai=t; for(i=0;i<N;i+) printf(“%d”,ai);32、求一個(gè)N×N矩陣主對(duì)角線元素、次對(duì)角線之和。#define N 3#include <stdio.h>main() int i=0,j=0,aNN,s1=0,s2=0; for(i=0;i<N;i+) for(j=0;j<N;j+) scanf("%d",&aij); for(i=0;i<N;i+) for(j=0;j<N;j+) if(_i

38、=j_) s1+=aij; /主對(duì)角線 if(_i+j=N-1_) s2+=aij; /次對(duì)角線 printf("s1=%d,s2=%dn",s1,s2);33、已有一個(gè)已排好的數(shù)組今輸入一個(gè)數(shù)要求按原來排序的規(guī)律將它插入數(shù)組中。#define N 10#include <stdio.h>main() int i,t,aN=1,7,8,17,23,24,59,62,101; scanf("%d",&t); for(i=N-2;i>0;i-) if(t<ai) _ai=ai-1_; else break;ai+1= _t_;

39、for(i=0;i<10;i+) printf("%5d",ai); 34、將一個(gè)數(shù)組的值按逆序重新存放,例如,原來順序?yàn)椋?,6,5,4,1。要求改為:1,4,5,6,8。 #include <stdio.h>#define N 11main() int i,aN,tmp; for(i=0;i<N;i+) scanf("%d",&ai); for(i=0; _i<N/2_;i+) tmp=ai; ai= _aN-i-1_; _aN-i-1_=tmp;for(i=0;i<N;i+)printf("%5

40、d",ai); 35、打印“魔方陣”,所謂魔方陣是指這樣的方陣,它的每一行、每一列和對(duì)角線之和均相等。例如,三階魔方陣為 8 1 6 3 5 7 4 9 2 要求打印出由1n2的自然數(shù)構(gòu)成的魔方陣。 #define N 3#include <stdio.h>main( )    int i,j,k,aNN;/* 初始化魔方陣置為0,作為有無數(shù)字的判斷*/for(i=0;i<N;i+)      for(j=0;j<N;j+)     

41、0;     aij= _0_;j=N/2;a0j=1; /* 存放第一個(gè)數(shù)字 */* 存放2n*n */for(k=2;k<=N*N;k+)         i-; / 數(shù)存放前一數(shù)行數(shù)減1、列數(shù)加1          _j+=1_;if (i < 0 && j > N-1) /到達(dá)右上角的位置 i=i+2; j-; else    

42、;   if(i<0)           i=_n-1_; /上一數(shù)的行數(shù)為0,下一數(shù)的行數(shù)為n-1 if(j>N-1)           j=0; /上一數(shù)的列數(shù)為n-1時(shí),下一數(shù)的列數(shù)為0           if(_aij!=0_) /若下一數(shù)的位置上已經(jīng)有數(shù)字, /

43、則下一數(shù)存到上一個(gè)數(shù)行數(shù)加1的位置 i=(i+2)%N;       j=(j -1 + N)%N;  aij= _k_; / 填數(shù)for(i=0;i<N;i+)  /輸出魔方陣   printf(" ");   for(j=0;j<N;j+)      printf("%4d",aij);   printf("nn");36、找出一個(gè)

44、二位數(shù)組中的鞍點(diǎn),即該位置上的元素在該行上最大,在該列上最小,也可能沒有鞍點(diǎn)。 #include <stdio.h>#define M 5#define N 4main()  int aMN,i,j,x,y,k,max,min;/x,y分別是用來記錄鞍點(diǎn)的位置 int flag=0; /用于指示是否存在鞍點(diǎn)for(i=0;i<M;i+) for(j=0;j<N;j+)scanf("%d",&aij);for(i=0;i<M;i+) max=ai0; y=0; /先默認(rèn)第一個(gè)數(shù)是最大值for(k=1;k<

45、;N;k+)     if(max<aik)  y=k; _max=aik_;   min=aiy; x=i; /先默認(rèn)第一個(gè)數(shù)是最小值  for(k=0;k<5;k+)      if(min>aky) x=k; _min=aky_; if(_i=k_) printf("a%d%d=%d 是鞍點(diǎn)n",x,y,axy);flag=1; if (flag =0) printf(“不存在鞍點(diǎn)n”);37、有個(gè)15數(shù)按由小到

46、大順序存放在一個(gè)數(shù)組中,輸入一個(gè)數(shù),要求用折半查找法找出該數(shù)組中第幾個(gè)元素的值。如果該數(shù)不在數(shù)組中,則打印出"無此數(shù)" #include <stdio.h>#define N 15main() 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; scanf("%d",&x); do mid=_(low+high)/2_; if(amid=x) break; else if(amid<x) low=

47、_mid+1_; else high=_mid-1_; while(low<=high); if(low<=high) printf("x is the %dth numbern",mid+1);else printf("x not exist in the arrayn");38、輸入一行字符,統(tǒng)計(jì)其中有多少個(gè)單詞,單詞之間用空格分隔開。#include <stdio.h>void main() char string81; int i,num=0,word=0; char c; gets(string); for (i=0;(

48、c=stringi) _!=0_;i+) if(c= ) word=0; else if(word=0) word=_1_; num+; printf(There are %d words in the line.n,num); 39、輸出10行的楊輝三角形。11 11 2 11 3 3 1#include <stdio.h>#define N 10main() int i,n,k,aN=1; printf(“%5dn”,a0); for(i=1;i<N;i+) for(j=i;j>=1;j-) aj= _aj+aj-1_; for(j=0; _j<=i_;j+)

49、 printf(“%5d”,aj); printf(“n”); 40、以下程序的功能是:從鍵盤輸入一個(gè)整數(shù)n(n10)和n個(gè)整數(shù),存入數(shù)組a中,先依次輸出各個(gè)數(shù)組元素的值,然后找出最大值,并輸出。#include<stdio.h>main() int a10,n,i,j, _max_ ; printf("輸入 n="); scanf("%d",&n); printf("輸入各數(shù)組元素:"); for(i=0;i<n;i+) scanf("%d", _&ai_); printf(&q

50、uot;輸出各數(shù)組元素:"); for(_i=0;i<n;i+_ ) printf("%d ", _ai_ ); printf("n"); max=_a0_ ;for(j=1;j<n;j+) if(ai>max) _max=ai_ ;printf("最大值:%dn",max);41、以下程序?qū)崿F(xiàn)的功能是:將字符串s中所有的字符c刪除。請(qǐng)完成程序填充#include<stdio.h>#include<ctype.h>main() char s80; int i,j; gets(s);

51、for(i=j=0; _si!=0_;i+) if(si!='c') sj=si; _j+_; sj='0' puts(s);42、以下程序的功能是:按順序讀入10名學(xué)生4門課程的成績(jī),計(jì)算出每位學(xué)生的平均分并輸出,請(qǐng)完成程序填充。#include<stdio.h>#define N 10main() int n,k; float score,sum,ave; for(n=1;n<=N;n+) _sum=0_; for(k=1;k<=4;k+) scanf("%f",&score); _sum+=score_;

52、 _sum/=4_; printf("NO.%d:%fn",n,ave);43、本程序的功能是:輸入一串字符,將字符串中的字符反序輸出。#include <stdio.h>#include <_string.h_>main()int i,j,k;char str80;gets(str);for(i=0,j=_n-1_;i<j;i+,j-) k=stri; stri=strj; strj=k;puts(_str_);44、求方程ax2+bx+c=0 的根,用三個(gè)函數(shù)分別求當(dāng)b2-4ac大于0、等于0、和小于0時(shí)的根,并輸出結(jié)果。從主函數(shù)輸入a、b

53、、c的值。 #include <stdio.h>#include <math.h>void doubleRoots(double a,double b,double c) double x1,x2,delta; delta=_b*b-4*a*c_; x1=(-b+sqrt(delta)/(2*a); x2=(-b-sqrt(delta)/(2*a); printf("Equation has two different roots:n"); printf("x1=%g,x2=%g",x1,x2);void SingleRoot(d

54、ouble a,double b,double c) double x1; x1= _-b/2/a_; printf("Equation has two equal roots:n"); printf("x1=x2=%g",x1);void NoRoot(void) printf("No real root found for the equationn");main() double a,b,c,delta; scanf("%lf%lf%lf",&a,&b,&c); delta=b*b-4

55、*a*c; if(delta>0) _doubleRoots(a,b,c)_; else if(delta<0) _NoRoot()_;else _SingleRoot(a,b,c)_;45、寫一個(gè)判斷素?cái)?shù)的函數(shù),在主函數(shù)輸入一個(gè)整數(shù),輸出是否是素?cái)?shù)的消息。 #include <stdio.h>#include <math.h>void IsPrime(_int n_) int i; int k=sqrt(n); for(i=2; _i<=k_;i+) if(n%i=0) break; if(i>=k+1) printf("%dis P

56、rime numbern",n); else printf("%d is not Prime numbern",n);main() int n; scanf("%d",&n); IsPrime(_n_);46、用牛頓迭代法求根。方程為ax3+bx2+cx+d=0,系數(shù)a,b,c,d由主函數(shù)輸入。求x在1附近的一個(gè)實(shí)根。求出后由主函數(shù)輸出。 #include <stdio.h>#include <math.h>double EquationRoot(double a,double b,double c,double d) double x,y; x=1; do y=a*x*x*x+b*x*x+c*x+d; x=x-y/(3*a*x*x+2*b*x+c); while(_fabs(y)>1e-6_); return _x_;main() double a,b,c,d,x; scanf("%lf %lf %lf %lf",&a,&b,&c,&d); x=_EquationRoot(a,b,c

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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)論