1、#include int fun() int a33,sum; int i,j;/*found*/_; sum=1; for (i=0;i3;i+) for (j=0;jj+)scanf(%d aij); scanf(,ai+j);#scanf(,&aij);,*(a+i)+j); sum=sum*aii; printf(Sum=%dn,sum);main() fun();2求一个整数的所有质因子 判素数/*2给定程序modi.c的功能是:读入一个整数k(2=Kmath.h/*found*/double fun(double *a, *b) doublefun(double*a,double*
2、b)#doublefun(double*b,double*a) double c;c = sqrt( a ) + sqrt( b ); c=sqrt(*b)+sqrt(*a);#c=sqrt(*a)+sqrt(*b); return c;main ( ) double a, b, y; clrscr( ); printf ( Enter a, b : scanf (%lf%lf, &a, &b ); y = fun (&b); printf (y = %f n, y );/*4给定程序modi.c中函数fun的功能是:从3个红球,5个白球,6个黑球中任意取出8个作为一组,进行输出。在每组中,可
3、以没有黑球,但必须要有红球和白球。组合数作为函数值返回。正确的组合数应该是15。程序中i的值代表红球数,j的值代表白球数,k的值代表黑球数。 int i,j,k,sum=0;nThe result :nn/*found*/for(i=0; i=3; i+) for(i=1; for(j=1; j=1 & k=0&k0;i-) k=aM-1; for(j=M-1;jj-)aj=aj+1; aj=aj-1; a0=k; for(m=0; m=2)&(mc10) /*found*/ if (k%13=0)|(k%17=0) if(k%17=0|k%13=0)#if(k%13=0|k%17=0) m=
4、m+k;mc+; k-; return m;_ clrscr();%dn,fun(500);8数据交换 三个数的有序排放/*8.把主函数中输入的3个数,最大的放入a中,最小的放入c中,若输入:55 12 34.a=55.0,b=34.0,c=12.0.*/void fun(float *p,float *q,float *s) /*found*/ float *k; floatk; if (*p*q) k=*p;*p=*q;*q=k;if (*s*p) if(*p*p)#if(0*p-*s)#if(*p-*s0) k=*s;*s=*p;*p=k; if (*q*s) k=*q;*q=*s;*s
5、=k; float a,b,c;Input a b c:%f%f%fb,&c);a=%4.1f,b=%4.1f,c=%4.1fnn,a,b,c);/*9.给定程序modi.c中,函数fun的功能是:找出一个大于给定整数m且紧随m的素数,并作为函数值返回。int fun(int m) int i,k; for (i=m+1;i+) for (k=2;i;k+)if (i%k!=0) if(i%k=0) break;if (k=i)#if(i=k)#if(i=k) return(i); int n;nPlease enter n:n);,fun(n);10内层循环的起始终止值 选择排序/*10.给
6、定程序modi.c中,函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。#define N 20void fun(int a,int n)int i,j,t,p; for (j=0;n-1;j+) p=j;for (i=0;i+) for(i=j;i+)#for(i=j+1; if(aiap) p=i; t=ap;ap=aj;aj=t; int aN=9,6,8,3,-1,i,m=5;排序前的数据:m;i+) printf(,ai);printf( fun(a,m);排序后的数据:11二分法求根 多函数 精度/*11给定程序modi.c,函数fun和funx的功能是:用二
7、分法求方程2x3-4x2+3x-6=0的一个根,并要求绝对误差不超过0.001。 例如,若给m输入-100,给n输入90,则函数求得的一个根值为2.000。math.hdouble funx(double x) return(2*x*x*x-4*x*x+3*x-6);double fun(double m,double n)int r; doubler; r=(m+n)/2; while (fabs(n-m)0.001)#while(fabs(m-n)0.001) if(funx(r)*funx(n)=0) numi+;/*15.将长整型数中的每一位上为奇数的数依次取出,构成一个新数放在t中,
8、高位仍为高位,低位仍为低位,例如:s中的数为:87653142,t中的数为7531.*/void fun(long s,long *t) int d; long s1=1;t=0; *t=0; while (s0) d=s%10;if (d%2=0) if(d%2!=0)#if(d%2) #if(d%2=1) *t=d*s1+*t; s1*=10; s/=10; long s,t;nPlease enter s:%lds); fun(s,&t);The result is:%ldn,t);/*16.从整数10到55之间,选出能被3整除且至少有一位上的数是5的那些数,并把这些数放在b所指的数组中
9、,这些数的个数作为函数值返回.规定:函数中的a1中放个位数,a2中放十位数.*/fun (int *b) int k,a1,a2,i=0; for (k=10;=55; a2=k/10;a1=_; a1=k%10; if(k%3=0 & a2=5)| (k%3=0 & a1=5) bi=k;i+;return k;#returni; int a100,k,m; m=fun(a);k+) printf(%4d,ak);/*17.把n个数按由大到小排序.*/stdlib.hvoid fun(int a,int n) voidfun(int*a,intn)#voidfun(inta,intn)#voidfun(intaN,intn) int i,j,k,t; for(j=0; k=j; for(i=j+1;if(aiak)k=i; t=aj;aj=ak;ak=t; int aN,i;N;i+) ai=rand()%100;# before sort #nni+) printf(i+1)%10 ?%6d%6dn fun(a,N);* after sort *nn18由一个数构成另一
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1