实验二几种算法比较一、。要求用两种方法实现:(1)列举法(2)!要求用两种方法实现:(1)递归法(2)非递归法二、程序清单1.(1)列举法#include<>intfac(intn){intf;if(n<0)printf("n<0,dataerror!");elseif(n==0||n==1)f=1;elsef=fac(n-1)*n;return(f);}voidmain(){intn,y;printf("Inputaintegernumber:");scanf("%d",&n);y=fac(n);printf("%d!=%15d",n,y);}1.(2)用筛法#include""#include""voidmain(){ inti,j,n,a[101]; for(i=1;i<=100;i++) a[i]=i; a[1]=0; for(i=2;i<=sqrt(100);i++) for(j=i+1;j<=100;j++) { if(a[i]!=0&&a[j]!=0) if(a[j]%a[i]==0) a[j]=0; } printf("\n"); for(i=1,n=0;i<=100;i++) { if(a[i]!=0) { printf("%5d",a[i]); n++; } if(n==5) { printf("\n"); n=0; } }}三、程序调试过程中所出现的错误2.(1)递归法#include<>doublef(intn);intmain(void){intn;printf("Entern:");scanf("%d",&n);printf("%lf\n",f(n));return0;}doublef(intn){
求1到100之间的所有素数。 来自淘豆网m.daumloan.com转载请标明出处.