c 程 序 设 计

Click here to load reader

Upload: ena

Post on 21-Jan-2016

109 views

Category:

Documents


0 download

DESCRIPTION

C 程 序 设 计. 江南大学控制科学与工程研究中心 张正道 ([email protected]). 第 8 章 函数.  概述  函数定义的一般形式 函数参数和函数的值 函数的调用(嵌套调用、递归调用) 数组作为函数参数 局部变量和全局变量 动态存储变量和静态存储变量 内部函数和外部函数. §8.1 概 述. 一 . 模块与函数. 1. 结构化程序设计. ◆ 一种设计程序的技术。. ◆ 通常采用自顶向下逐步求精的设计方法和单入 单出控制结构。. ◆ C 语言是结构化的程序设计语言。. - PowerPoint PPT Presentation

TRANSCRIPT

  • C ([email protected])

  • 8

  • . 1. C 2..8.1

  • 3. ,

  • 4. : [] 129282135781012314691130234

  • :1int leap(int year){int lp; lp=(year%4==0&&year%100!=0 ||year%400==0)?1:0;return lp;}

  • 2/*month_daysleap*/int month_daysint yearint month{ int dsd switchmonth {case 1: case 3: case 5: case 7: case 8: case 10: case 12:d=31break case 2:d=leapyear?29:28break /*d2928*/ default:d=30} return d }

  • 3

    /*daysmonth_days*/int daysint yearint monthint day{int ids=0 for i=1i

  • 4:void main{ int yearmonthdayt_day printf("Input year-month-day:\n) scanf("%d-%d-%d,&year,&month,&day) t_day=daysyearmonthday /**/ printf(%d-%d-%d is %dth day of the year!\n ,year,month,day,t_day)}:,main( )

  • . 1. 12goto3C

  • 2. 3. .

  • main(){printstar(); printmessage(); printstar(): }printstar(){ printf("***************\n");}print_message(){ printf (" How do you do?\n"); } *************** How do you do? ***************C

  • (1)C(2).(3)Cmain. main,. (4)(5) ( (6)

  • C. Turbo C400

    (1) (2)(3) (4)I/O(5) (6)

  • C.htc\include:2. (1) stdio.h (2) math.h (3) string.h (4) stdlib.h (5) ctype.h

  • . 1. ()

  • 8.2 1. : ( ) { }2. : ( ) { }

  • int max (int x , int y) {int z ; z=x>y? x : y ; return (z); } z,,. int

  • 3. { } dummy() { }

  • 4. { }: { }ANSI: int max(a,b) int a,b;: int max(int a,int b)

  • 5. 1. voidvoidint.

  • Cautoregisterauto

  • }2{}

  • }:signsign(x) /*int*//**/int x /**/{ int y/**/y=x>0?1:(x==0?0:-1)return y/**/

  • 6. mainCmainvoidTC2main

  • Cmain

  • 8.3 8.3.1 : : : c=max( a , b ) ()

    int max (int x ,int y ) () {int z ; z=x>y ? x : y ; return (z); } a , b x , y

  • ()()C

  • main( ) { int a,b,c; scanf(%d,%d,&a,&b); c=max(a,b); printf(max is %d,c); } max (int x, int y) { int z; z=x>y? x:y ; return(z); } 78 max is 8

  • 1234

  • (5) ,,,.12

  • :ax2+bx+c=0a0 1 2dict10 #include #include void main(){ float abcx1x2d,dt int dict(floatfloatfloat) /*dict*/ printf("Input abc:") scanf("%f%f%f"&a&b&c)/**/ d=dict(abc)/*dictabc*/ dt=b*b-4*a*c; /* ,*/

  • if(d) {x1=-b+sqrtdt/2*a x2=-b-sqrtdt/2*a printf("x1=%fx2=%f\n"x1x2)}else printf"!\n" } int dict(abc) /*dict*/float abc{float d d=b*b-4*a*c /**/ if(d>=0) return(1) else return(0)}

  • .

  • 8.3.2 1)return . : return (z) == return zreturn max(x, y){ return (x>y :x:y);}(2): .,.int max(x ,y)char letter(c1,c2) min(x ,y)

  • (3) return,.(4) return,.

    {int a,b,c; a=printstar(); b=print_message();c=printstar(); printf ("a=%d,b=%d,c=%d\n",a,b,c); }

    a,b,c

  • floatreturnintreturnreturnTC20

  • 5void : void printstar ( ) {.} , eg: a=printstar ( ) ; () printstar ( ) . main(){ int a; a=printstar();printf (%d\n,a);}void printstar(){printf(********\n);}

  • 8.4 8.4.1 () ; ,.C. 8 .4 main() int f(int a,int b) {int i=2,p; {int c; if(a>b) c=1;p=f(i,++i); else if (a= =b c=0;) printf("%d",p);} else c=-1; return c;} : int i=1; printf(%d,%d,i,i++); int i=1; printf(%d,%d,i,++i);0:j=i;k=++i;p=f(j,k);

  • 8.4.2

    void

  • : #include void main{printf"\nk1=%d"printf"\n%k2"}k2k1=3

  • void main( ) /*max2*/{ int xyzm scanf("%d%d%d"&x&y&z) printf("max=%d\n"max2(max2(x,y)z)) / *max2max2*/ / * max2printf*/ }max2int max2int aint b /**/{ int y y=a>b?a:b return y}

  • 8.4.3 (1). (2),#include,. #include #include (3),. float max( int ,int )float max( int a,int b) (1 1,2 2,,n n); (1,2,,n);

  • 8.5: main( ) {float add(float x, float y); /* */ float a ,b ,c ; scanf(%f,%f,&a,&b); c=add(a ,b); printf(sum=%f,c) ;} float add (float x,float y) { float z; z=x+y ; return (z); } float add(float , float);sum= 10.000000

  • ,, ,

  • float add (float x, float y) {float z; z=x+y ; return (z); } main( ) { float a ,b ,c ; scanf(%f,%f,&a,&b); c=add(a ,b); printf(sum=%f,c) ; } 3.5,6.5 sum= 10.000000

  • char letter(char,char );float f(float,float);int i( float,float); main( ) { f(3.4,5.6); i(5.1,34.5); letter(a,b);} float f(c1,c2) {.} int i(j,k) {.} char letter(c1,c2) {}

  • C, 1 2 3{ {. {... 2 3 } . } }8.5 :

  • 8.6 :.Eg: : int f(int x) {int y,z; z=f(y); return (2+z); } : int f1(x) int f2(t) int x; int t; {int y,z; . {int a,c; . z=f2(y); . } c=f1(a); . }

  • 1void fun( ){ ...fun( )...}2void fun1( ){ ...fun2( )...}void fun2( ){ ...fun2( )...}

  • 5age(5)=age(4)+2age(4)=age(3)+2age(3)=age(2)+2age(2)=age(1)+2age(1)=10age(n)=10 (n=1) age(n)= age(n-1)+2 (n>2)

  • Age(5)=age(4)+2Age(3)=age(2)+2Age(4)=age(3)+2Age(2)=age(1)+2Age(1)=10Age(2)=12Age(4)=16Age(3)=14Age(5)=18Age(5)age(5)C=Age(4)+2C=Age(3)+2C=Age(2)+2C=Age(1)+2C=10main n=5 n=4 n=3 n=2 n=1

  • age (n) /* */ int n; {int c; if(n= =1) c=10; /*,*/ else c=age(n1)+2 ; return (c); } main( ) { printf(%d,age (5));} : 18

  • 12

  • :mnmnn>01mn2mnmnmnmnmmn-1mnmn-1mnm0=1

  • #include void main( ){int mn long power(intint) /**/ scanf("%d%d"&m&n) printf("power(%d%d)=%ld\n"mnpower(mn)) }

    long power(int mint n) /*mn*/{long p if (n==0)p=1 else p= m*power(mn-1) /*power(mn)=m*power(mn-1)*/ return p}

  • :Fibonacci112358101fib(1)=1fib(2)=1 2

  • #include void main(){int n long m long fib(int) /**/ scanf("%d"&n) /*n*/ m=fib(n) printf("fib(%d)=%ld\n"nm)}

    long fib(int n) /*fib*/{ if n==1 return1 else if(n==2) return (1) /**/ else return fib(n-1)+fib(n-2) }

  • HanoiTower of Hanoi6-6364

  • 64 264 1 = 1.81019 ACBnn>1AC1n-1ACB2nC3n-1BAC nn-1nn-1

  • i=0 /*i*/void hanoi(int n int Aint Bint C){if(n==0) return /* 0 */ if(n==1) step(AC) /* n=1 AC*/ else {hanoi(n-1ACB) /* n-1AC B */ step(AC) /* nAC */ hanoi(n-1BAC)} /* n-1BAC*/ }void step(int takeint put){i++ /*i*/ printf("[%d] %d->%d\n"itakeput)}#include void main(){int n printf("Input n:")scanf("%d"&n) hanoi(n123)/*n*/ }

  • Input n:3[1] 1->3 3[2] 1->2 2[3] 3->2 3[4] 1->3 1[5] 2->1 3[6] 2->3 2[7] 1->3 31i2mn3ii=1233

  • 2.

  • 8.7 2. 1. ,. main() f(int arr[]int n)int array[10]; { f(array10); }

  • (1) (2) (3) (4)arrayarr

  • 556 78 99 1000a[0] a [1] a[2] a[3] a[4] b[0] b[1] b[2]

  • void Swap(int xint y);Swap(a[1]a[2]);a[1],a[2]a[1]a[2]x,yxya[1]a[2]

  • ()Cf(int arr[ ], int n)arrf f(int *arr, int n)arr

  • arrarrarray[0]*arr array[0]*(arr+i) array[i] fsizeofarr(sizeof(arr))2

  • ?C(a,a[i]*(a+i))C

  • f(arr[ ], int n){printf("%D\n", *arr);/*array[0]*/arr=arr+3;printf("%D\n", *arr);/*array[3]*/

  • ana[0]a[n-1]a[1]a[n-2] a[(n-1)/2]a[n-int((n-1)/2)-1]

  • void inv(int x[ ]int n)/*x*/{int temp,i,j,m=(n-1)/2;for(i=0;i=m;i++){j=n-1-i;temp=x[i];x[i]=x[j];x[j]=temp;}}

  • main(){int i,a[10]={3,7,9,11,0,6,7,5,4,2};printf("The oriGinal array\n");for(i=0;i10;i++) printf("%d"a[i]);inv(a10);printf("The array haS Been inverteD\n");for(i=0;i10;i++)printf("%d"a[i]);}

  • ainvxinvn(10)invxmainamaininv(a10)a10inv(a5)a5inv5invmiim;imn=10m=4a[i]a[j]a[4]a[5]

  • invxaaxxa[0]x+ma[m]ijpixjx+n-1*i*ja[i]a[j]

  • void inv(int*xint n)/*x*/{intp,temp,*i,*j,m=(n-1)/2;i=x;j=x+n-1;p=x+m;for(;i=p;i++j--)temp=*i;*i=*j;*j=temp;}main(){int ia[10]={3,7,9,111,0,6,7,5,4,2};printf("The oriGinal array\n");

    for(i=0;i10;i++)printf("%D"a[i]);printf("\n");inv(a10);printf("The array haS Been inverteD\n");for(i=0;i10;i++)printf("%D"a[i]);printf("\n");}

  • 3. int array[3][10]; int array[][10];int array[][]; int array[3][]; ,. int scroe[5][10] ; int array[3][10] ;

  • 4.

  • float aver(float *pa);main(){ float sco[5],av,*sp; int i; sp=sco; printf("\ninput 5 scores:\n"); for(i=0;i
  • namename name day name name nameinday namepp1pp2pp1name[0](*name)pp2name[n]*(name+ n)pp1pp2psips

  • scanf("%d",&i); if(i
  • 5 () ()

  • #include"string.h"main(){void sort(char *name[],int n);void print(char *name[],int n);static char *name[]={ "CHINA","AMERICA","AUSTRALIA", "FRANCE", "GERMAN"}; int n=5; sort(name,n); print(name,n);}void print(char *name[],int n){ int i; for (i=0;i
  • sort namenprintsortmainname sortprintsortstrcmp strcmpname[k]name[ j]

  • 4(1) main() f(intx[ ]int n){int a[10]; { f(a10); } }

  • (2) main() f(int *xint n){int a[10]; { f(a10); } }axxa[0]x=&a[0] xa

  • main() f(int *xint n){int a[10], *p; {p=a; }f(p10); } pxpap&a[0]pxx&a[0] xxa(3)

  • main() f(int x[ ]int n){int a[10],*p; {p=a; }f(p10); }(4) pa[0],p=ap=&a[0]xxa[0]xxa[0](xaxa) x[i]a[i].

  • void inv(int *xint n) intpmtemp*i*j; m=(n-1)/2; i=x;j=x+n-1;p=x+m;for(;i=p;i++j--)temp=*i;*i=*j;*j=temp; return;

  • main(){int iarr[10]*p=arr; printf("The original array\n");for(i=0;i10;i++p++) scanf("%d"p);printf("\n");p=arr;inv(p10);/**/printf("The array has been inverted\n"); for(p=arr;parr+10;p++) printf("%d"*p); printf("\n");}

  • mainpmainmain(){int iarr;printf("The oriGinal array\n");for(i=0;i10;i++) scanf("%d"arr+i);printf("\n");inv(arr10);/**/printf("The array haS Been inverteD\n for(i=0;i10;i++) printf("%d"*(arr+i));printf("\n");}

  • arrmain()f(x[ ]int n)int *p; { f(p,n); }

  • (1)(4)

  • :10main(){intpia[10]; p=a; for(i=0;i10;i++) scanf("%D"p++); p=a; Sort(p10); for(p=ai=0;i10;i++) {printf("%d"*p); p++;}}

  • sort(int x[ ]int n){int ijkt; for(i=0;in-1;i++) {k=i; for(j=i+1;jn;j++)if(x[j]x[k])k=j; if(k=i) {t=x[i];x[i]=x[k];x[k]=t;} }}

  • SortSortsort(int *xint n)Sortxx[i]x[k]x+ix+k

  • sort(int *xint n){ int ijkt; for(i=0;in-1;i++) {k=i; for(j=i+1;jn;j++) if(*(x+j)*(x+k))k=j; if(k=i){t=*(x+i);*(x+i)=*(x+k);*(x+k)=t;} }}

  • 5 .main mainmain main mainmain argcargv main main (argc,argv)

  • argc(),argv( )main main (argc,argv) int argv; char *argv[]; main (int argc, char *argv[])

  • main main? ,mainDOSmain DOS C:\> ;

  • main ,mainargc()argc

  • C:\>E6 24 BASIC dbase FORTRAN E6 244argc4argv()

  • main(int argc,char *argv){ while(argc-->1) printf("%s\n",*++argv);}e24.exeA C:\>a:e24 BASIC dBASE FORTRAN BASIC dBASEFORTRAN

  • 4mainargc4argv44while argv1argv1 printf*++argv1 argv[1]BASIC e24

  • 20n*++argv20"atoi"while20#include"stdlib.h"main(int argc,char*argv[]){ int a=0,n; n=atoi(*++argv); while(n--) printf("%d ",a++*2);}0n

  • 10.5.1 10.5

  • max(int xint y)int z;if(xy)z=x;else z=y;return(z);

  • main()int max(intint); int(*p)();int abC;p=max;scanf("%d%d"&a&B); C=(*p)(ab);printf("max=%d"abc);int(*p)()p

  • *pp*()()int p()()*() p=max;maxppmaxpmax*pmaxp*(p+1)

  • mainc=(*p)(ab);C=max(ab);(1) (*)();(2) ()

  • (3) (*p)()(4) :p=max;pp=max(aB);(5) (*p)(p)(*p)

  • (6) p+np++p--

  • 10.5.2

    (Sub)(x1x2)x1x2Subf1f2SuBf1f2

  • x1x2x1x2 f1 f2 Sub(int (*x1)(int )int (*x2)(int,int ))

    int aBi=1j=2; a=(*x1)(i); /*f1*/ B=(*x2)(ij); /*f2*/

  • ijf1f2Subx1x2()SubSubf1f2x1x2x1x2f1f2Sub*x1*x2f1f2(*x1)(i)f1(i)(*x2)(ij)f2(ij)

  • f1f2Subf1f2x1x2Subf1f2f3f4f5f6SubSub

  • processaBprocessababmain()int max(intint); /* */ int min(intint); /* */ int add(intint); /* */ int ab; printf("enter a and b");

  • scanf("%d%d"&a&b);printf("max=");process(abmax);printf("min=");process(abmin);printf("sum=");process(a,b,add);max(int xint y) int Z; if(xy) Z=x; else Z=y; return(Z);min(int xint y) int Z; if(xy)Z=x;else Z=y; return(Z);add(int xint y) int Z; Z=x+y; return(Z);

  • process(int xint yint (*fun)(int,int)) int reSult; result=(*fun)(xy); printf("%D\n"result);

  • maxminaddprocessprocessmain24 (max(ab))(max)()

  • 10.6 *();int*a(int xint y);a()xya*a

  • (4)main()float score[ ][4]={{60708090}{56896788}{34789066}};floatsearch(float (*pointer)[4]int n);floatp;int im;printf("enter the number of Student");scanf("%d"&m);

  • printf("The Scores of No.%d are\n"m);p=Search(Scorem);for(i=0;i4;i++) printf("%5.2f\t" (p+i));}

    float *Search(float (*pointer)[4]int n){float *pt; pt=*(pointer+n); return(pt);}

  • 0searchpointer4pointer+1score1*(pointer+1)10ptfloat)mainsearchscorepointer(score)msearch(m0)p4*(p+i)i

  • pptpointersearchpt=*(pointer+n);pt=(*pointer+n);a[0][1]4

  • 8.8

  • :void f1( ) { int t=2; a *= t; b /= t; }

    void main( ){ int a, b; printf(Enter a,b:); scanf(%d,%d, &a, &b); f1( ); /* f1( ) */ printf (a=%d,b=%d , a, b); } : Undefined symbol a Undefined symbol b ?

  • :#include int a,b; /*ab*/void f1( ) { int t1,t2; t1 = a * 2; t2 = b * 3; b = 100 printf (t1=%d,t2=%d\n , t1, t2); }void main( ) { a=2; b=4; f1( ); printf (a=%d,b=%d, a, b); }: t1=4,t2=12 a=2,b=100

  • :#include int a=2,b=4; /*a,b*/void f1( ) { int t1,t2; t1 = a * 2; t2 = b * 3; b = 100 printf ( t1=%d,t2=%d\n, t1, t2); }

    void main(){ int b=4; f1( ); printf ( a=%d,b=%d , a, b); } : t1=4,t2=12 a=2, b=4

  • 8.8.1 ,.float f1( int a){ int b,c; ..} char f2(int x, int y){int i,j; }main(){ int m,n .}a ,b,cx,y,i,jm,n

  • 1. 2.

  • 3. n4.

  • main() {int s,a;{int b; s,as=a+b; b } }

  • main(){ int i=2,j=3,k; k=i+j; { int k=8; if(i==3) printf("%d\n",k); } printf("%d\n%d\n",i,k);}

  • maini,j,kk k8kmainkk4kmain57kk889iki7i339kmainkk4 55

  • 8.8.2 extern

  • int p=1,q=5;float f1(a)int a;{ int b,c; }char c1,c2;char f2 (int x,int y){int i,j; }main(){ int m,n;}

    c1,c2p,q

  • (1)(2) (3)

  • l,w,hx*y,x*z,y*zint s1,s2,s3;int vs( int a,int b,int c){ int v; v=a*b*c; s1=a*b; s2=b*c; s3=a*c; return v;}main(){ int v,l,w,h; printf("\ninput length,width and height\n"); canf("%d%d%d",&l,&w,&h); v=vs(l,w,h);printf("v=%d,s1=%d,s2=%d,s3=%d\n", v,s1,s2,s3);}

  • s1,s2,s3 vs vv,s1,s2,s3vss1,s2,s3main

  • int vs(int l,int w){ extern int h; int v; v=l*w*h; return v;}main(){ extern int w,h; int l=5; printf("v=%d",vs(l,w));}int l=3,w=4,h=5; lwvslwmianlprintfvslmainl5lww4vslvsh 5v100

  • 4. [extern] extern int a,b; extern int a,b;

  • extern

  • 1.

    2.

    ()()(1) (2)

  • 8.9 8.9.1

    (1) 2static (3)

  • ,CPU.

  • ()/

  • Cautostaticexternregister :[] [] ;1. staticint f(a){ auto int b,c=3;} auto

  • [auto] autoauto

  • 2.

  • 2. static

  • 8.17 f (int a){ auto int b=0; static int c=3; b=b+1;c=c+1; return(a+b+c);}main(){ int a=2,i; for (i=0;i
  • static static static static

  • static static int a,b; static float array[5]={1,2,3,4,5}(1)

  • (2)(30

  • main(){ int i; void f(); /**/ for(i=1;i
  • fj 0mainfj01j

  • main(){ int i; void f(); for (i=1;i
  • 12304

  • int fac(int n){static int f=1;f=f*n;return (f);}main(){int i;for (i=1;i
  • 3. CPUCPU CPU

  • register register int a register char b

  • 1. 2. Turbo CMS C C3. CPU

  • (1) (2) int,char(3) register static int a,b,c

  • 4. extern

  • void main(){ /*maina*/ }extern int a /*a*/void fac(int n){ a=a*n /*facafaca*/ }int a=1/s.ca*/void fun(){ /*funa*/ }/*s.c*//*d.c*/6-16

  • 1. 2.

  • extern1.

  • int max (int x,int y){ int z;z=x>y ?x:y;return (z);}main (){extern [int] A, B;printf ("%d", max(A,B));}

    int A =13, B=-8;

  • 2. extern

  • F1.CF2.C /*F1.C*/ int a,b; /**/ char c; /**/ main() { }/*F2.C*/ extern int a,b; /**/ extern char c; /**/ func (int x,y) { }

  • F1.CF2.Ca,b,cF1.Ca,b,cF2.Cextern 0

  • 8.21 b,A,m axb, amFile1.cint A;main(){ int power (int);int b=3c,d,m;scanf ("%d,%d",&A, &m);c=A*b;printf ("%d*%d=%d\n", A,b,c);d=power (m)printf ("%d*%d=%d\n",A,m,d);}file2.cextern A;power(int n); {int i, y=1;for (i=1;i
  • 5. static staticFile1.cstatic int A;main(){

    }File2.c extern int A;fun (int n){.A=A*m;}file1.cA,file2.c

  • ()static

  • static

  • 6. main(){ extern A; /**/}int A; /**/ extern int A= 4; (

  • static int a; auto char c; register int b; 1

  • (2)

  • (3)

    CPU

  • 8.108.10.1 Static 8.10.2 (1 extern extern int fun (int a, int b)extern (2)extern

  • 8.22 File1.c (1main (){extern enter_string(char str[80]); extern delete_string(char str[ ],char ch);extern print_string(char str[ ]);char c;char str[80];enter_string(str);scanf("%c", &c);delete_string(str,c);print_string(str);}

  • file2.c (2#include enter_string(char str[80]) /**/{gets(str);}file3.c(3delete_string (char str[ ], char ch){int i,j;for (i=j=0;str[ i]!='\0';i++)if (str [i]!=ch)str [j++] = str[i];str[j] ='\0';}file4.c 4print_string(char str[]){ printf ("%s",str);}abcdefcfgtacabdefgtac

  • main( ) {float a,b; /* a,b */ int c; /* c*/ scanf(%f,%f ,&a,&b); c=max(a,b); printf ( max is %d\n,c); } max(x ,y) float x,y; {float z; /* z */ z=x>y? x:y; return(z); } 2.5,3.5 max is 3

  • 8 .1.3

    a[0] a[1] a[2] a[3] a[4]3 6 1 9 4 1 6 3 9 4 1 3 6 9 41 3 4 9 61 3 4 6 9

  • void sort (int array[ ], int n) {int i ,j,k,t; for (i=0;i
  • main( ) {int a[10],i; printf(enter the array\n); for (i=0;i
  • 23,.max_value(int array[ ][3]) {int i,j,k,max; max=array[0][0]; for (i=0;i
  • main( ) {int a, b; . {int c; c=a+b; .} . }

  • long max (long x,long y){ long z;z=x>y? x:yreturn z;}main(){long max;max=max(153L,12L);printf("max=%ld",max);}

    long max (long x,long y){ long z;z=x>y? x:yreturn z;}main(){long max;max=max((long)153,(long)12);printf("max=%ld",max);}

  • 8 .6 x3-5x2+16x-80=0 f(x)= x3-5x2+16x-80f(x0)=0 x0(1)x1,x2.f(x1)f(x2)x1x2x1,x2x(2)(3) f(x1)f(x)x,x2(4)23f(x)
  • #include float f(float x){ float y; y=((x-5.0)*x+16.0)*x-80.0;return (y);}float xpoint(float x1,float x2){float y;y= (x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));return (y);}float root(float x1,float x2){int i; float x,y,y1;y1=f(x1);do {x=xpoint(x1,x2);y=f(x);

    if(y*y1>0){y1=y; x1=x;}else x2=x;}while(fabs(y)>=0.0001);return(x);}main(){ float x1,x2,f1,f2,x;do { printf ("input x1,x2:\n");scanf("%f,%f",&x1,&x2); f1=f(x1); f2=f(x2);}while(f1*f2>=0);x=root(x1,x2);printf("a root of equation is%8.4f",x);}

  • 8.10 a,b 10ab.abbaabmain(){int large (int x, int y);int a[10],b[10],i,n=0,m=0,k=0;printf ("enter array a:\n");for (i=0;i
  • for (i=0;ik) printf ("array a is large than array b\n" );else if (ny) flag=1; else if (x
  • 8.11 score10float average (float array[10]){int i;float aver,sum=array[0];for (i=1;i
  • 8.12float average (float array[], int n){int;float aver,sum, sum=array[0];for (i=1;i
  • 8.15 float max=0,min=0;float average(float array[],int n){ int i; float aver,sum=array[0];max=min=array[0];for(i=1;imax) max=array[i]; else if (array[i]
  • main(){ float ave,score[10];int i;for (i=0;i
  • 8.14 3x4max_value (int array[][4]){int i,j,k,max;max=array[0][0];for(i=0;i
  • 8.16 int a=3,b=5;max(int a, int b){int c; c=a>b? a:b;return (c );}main(){ int a=8;printf ("%d",max(a,b));}

    1! =12! =23! =64! =245! =120