第八章函数 【题8.1-8.30】 BBADA DBCBC BDBD(BC)B(CA)CABA(AB) ADD CADDA 【题8.31】程序中的 main O函数 【题8.32】【1】函数说明部分 【2】函数体 【题8.33】-125=-5*5*5 【题8.34】【1】 void add( float a, float b)【2】 float add( float a, float b) 【题8.35】i=7;j=6;x=7 i=2;j=7;x=5 【题8.36】111 【题8.37】 max Is2 【题8.38】【1】 break 【2】 break 【3】 getchar0 【题8.39】【1】(int)( value*10+5)/10) 【2】 ponse=va 【题8.40】打印出所有“水仙花数” 【题8.41】【1】f(r)*f(n)=1 【3】-y或 【题8.45】【1】2*i+1 【2】a(i) 【题8.46】【1】y>x&ky>z【2】j%x1==0&j%x2==0&&j%x3==0 【题8.47】【1】 【2】b!=0 【题8.48】(1)x=2y=3z=0 (2)x=4y=9z=5 (3)x=2y=3z=0 【题8.49】【1】n=1,s=0.0,t=1.0【2】2.0*s 【题8.50】【1】把 factorial函数中的语句 while(n>1ln1&&n<170) result =(double)n- 【题8.51】打印5阶幻方 17241815 23571416 46132022 01219 18 【题8.52】计算整数num的各位数字之积 【题8.53】FACT(5):120 FACT (1): 1 FACT (1): Error! 【题8.54】【1】age(n-1)+2 【2】age(5) 【题8.55】【1】计算斐波拉契级数第7项的值 【2】k=13
第八章 函数 【题 8.1-8.30】 BBADA DBCBC BDBD(BC) B(CA)CAB A(AB)ADD CADDA 【题 8.31】 程序中的 main()函数 【题 8.32】 【1】函数说明部分 【2】函数体 【题 8.33】 -125 = -5*5*5 【题 8.34】 【1】void add(float a, float b) 【2】float add(float a, float b) 【题 8.35】 i=7;j=6;x=7 i=2;j=7;x=5 【题 8.36】 111 【题 8.37】 max is 2 【题 8.38】 【1】break 【2】break 【3】getchar() 【题 8.39】 【1】(int)((value*10+5)/10) 【2】ponse==val 【题 8.40】 打印出所有“水仙花数” 【题 8.41】 【1】f(r)*f(n)=1 【3】--y 或 y— 【题 8.45】 【1】2*i+1 【2】a(i) 【3】a(i) 【题 8.46】 【1】y>x&&y>z 【2】j%x1==0&&j%x2==0&&j%x3==0 【题 8.47】 【1】> 【2】b!=0 【题 8.48】 (1)x=2 y=3 z=0 (2)x=4 y=9 z=5 (3)x=2 y=3 z=0 【题 8.49】 【1】n=1,s=0.0,t=1.0 【2】2.0*s 【题 8.50】 【1】把 factorial 函数中的语句 while(n>1||n1&&n<170) result *= (double)n--; 【题 8.51】 打印 5 阶幻方: 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 【题 8.52】 计算整数 num 的各位数字之积 【题 8.53】 FACT(5):120 FACT(1):1 FACT(-1):Error! 【题 8.54】 【1】age(n-1)+2 【2】age(5) 【题 8.55】 【1】计算斐波拉契级数第 7 项的值 【2】k=13
【题8.56】15 【题8.57】【1】(x0+a/x0)/2.0 【2】a,x1 【题8.58】5109 【题8.59】sum=6 【题8.60】【1】0123 -2-101 【2】0-1-2-3 123 10-1 【题8.61】【1】a[i]=m 【2】a,m 【3】no>=0 【题8.62】【1】s[i]=k 【2】sum=0 【题8.63】【1】-735710【2】冒泡法排序 【题8.64】【1】-13689 【2】选择法排序 【题8.65】【1】p=p+1 2】a[i]=a[i+1] 【题8.66】11357 24268 101312 【题8.67】【1】a[0]=1a[1]=2 【2】单向值传递,不能返回交换后的值 【题8.68】【1】a[0]=2a[1]=1 【2】因实参是地址,已对指定地址中的内容进行了交换 【题8.69】【1】i<10 【2】 array[i 【3】 average( score) 【题8.70】【1】i=3 【2】j<=i-1 【3】a[i-1][j-1] 【题8.71】【1】for(j=0;j<n-1;j+) 【2】 printf(“%4d”,(*(aa+i)[j); 【题8.72】 first:14,4,12 third: 26. 3. 6 【题8.73】(2)1 (3)5,6 (1)4,6 【题8.74】10,20,40,40 【题8.75】 【题8.76】A+B=9 【题8.77】8 【题8.78】125
【题 8.56】 15 【题 8.57】 【1】(x0+a/x0)/2.0 【2】a,x1 【题 8.58】 5 10 9 【题 8.59】 sum=6 【题 8.60】 【1】 0 1 2 3 -1 0 1 2 -2 -1 0 1 -3 -2 -1 0 【2】 0 -1 -2 -3 1 0 -1 -2 2 1 0 -1 3 2 1 0 【题 8.61】 【1】a[i]==m 【2】a,m 【3】no>=0 【题 8.62】 【1】s[i]=k 【2】sum=0 【题 8.63】 【1】-7 3 5 7 10 【2】冒泡法排序 【题 8.64】 【1】-1 3 6 8 9 【2】选择法排序 【题 8.65】 【1】p=p+1 【2】a[i]=a[i+1] 【题 8.66】 1 13 5 7 2 4 26 8 10 1 3 12 the value is 31 【题 8.67】 【1】a[0]=1 a[1]=2 【2】单向值传递,不能返回交换后的值 【题 8.68】 【1】a[0]=2 a[1]=1 【2】因实参是地址,已对指定地址中的内容进行了交换 【题 8.69】 【1】i<10 【2】array[i] 【3】average(score) 【题 8.70】 【1】i=3 【2】j<=i-1 【3】a[i-1][j-1] 【题 8.71】 【1】for(j=0;j<n-1;j++) 【2】printf(“%4d”,(*(aa+i))[j]); 【题 8.72】 first:14,4,12 second:26,4,12 third:26,3,6 【题 8.73】 (2)1 (3)5,6 (1)4,6 【题 8.74】 10,20,40,40 【题 8.75】 i=5 i=2 i=2 i=0 i=2 【题 8.76】 A+B=9 【题 8.77】 8 【题 8.78】 125
【题8.79】x=1 【题8.80】123 【题8.81】MAIN:x=5y=1n=1 FANC: X=6 y=21 n=ll MAIN: X-5 y=1 n=ll 【题8.82】输出1至5的阶乘 【题8.83】fun(intx,inty) int z return (z) 【题8.84】 I sprime(inta) for (i=2; i<sgrt((double)a): i++) if(a%i==0) return o return 1 【题8.85】sum(intn) int i, k=0: for (i=0; i<=n: i++) k += i return k 【题8.86】 double mypow( double x,inty) for (i=l: i<=y: ++i) p=p*X return p 【题8.87】 float f( float x0)
【题 8.79】 x=1 y=1 x=1 y=2 x=1 y=3 【题 8.80】 123 【题 8.81】 MAIN:x=5 y=1 n=1 FANC:x=6 y=21 n=11 MAIN:x=5 y=1 n=11 FANC:x=8 y=31 n=21 【题 8.82】 输出 1 至 5 的阶乘 【题 8.83】 fun(int x, int y) { int z; z = fabs(x-y); return(z); } 【题 8.84】 isprime(int a) { int i; for (i=2; i<sqrt((double)a); i++) if (a % i == 0) return 0; return 1; } 【题 8.85】 sum(int n) { int i, k = 0; for (i=0; i<=n; i++) k += i; return k; } 【题 8.86】 double mypow(double x, int y) { int i; double p; p = 1.0; for (i=1; i<=y; ++i) p = p * x; return p; } 【题 8.87】 float f(float x0) {
x1=(cos(x0)-x0)/(sin(x0)+1) return xl 【题8.88】 double add( double x, double y) return x + y; 【题8.89】 float root( float x1, float x2) int 1 float x, y, y1 y1=f(x1); x= xpoint(x1, x2) y =f(x); f(y*y1>0) while (fabs(y)>=0 0001) return(x) 【题8.90】 float p(intn,intx) float t, t1, t2 f(n=0) return (x) else t1=(2*n-1)*x*p(n-1),x) eturn(t)
float x1; x1 = (cos(x0) – x0) / (sin(x0) + 1); x1 = x1 + x0; return x1; } 【题 8.88】 double add(double x, double y) { return x + y; } 【题 8.89】 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); } 【题 8.90】 float p(int n, int x) { float t, t1, t2; if (n == 0) return(1); else if(n == 1) return(x); else { t1 = (2 * n – 1) * x * p((n–1), x); t2 = (n – 1) * p((n-2), x); t = (t1 – t2) / n; return(t); } }
【题8.91】 float f2(intn) return (f2(n-1)* n float fl (int x, int n) floa return 【题8.92】max( int arr[][4]) max= arr[O][0] for(i=0;imax) max= arr[i][j] return 【题8.93】f(inta[],intc[],intn) for (i=0 c La
【题 8.91】 float f2(int n) { if (n == 1) return 1; else return (f2(n-1) * n); } float f1(int x, int n) { int i; float j = 1; for (i=1; i max) max = arr[i][j]; return(max); } 【题 8.93】 f(int a[], int c[], int n) { int i; for (i=0; i<n; i++) c[a[i]]++; }