java-list去重
阿新 • • 發佈:2020-12-02
實驗二:
#include<stdio.h> long long fac( int n ); int main() { int i,n; printf("Enter n:"); scanf("%d",&n); for( i=1;i<=n;++i ) { printf("%d!=%11d\n",i,fac(i)); } return 0; } long long fac( int n ) { static long long p=1; printf("p=%d",p); p *= n; return p; }
static定義的靜態區域性變數的值,不會因為函式與主函式的值傳遞過程中二導致值變化,也就是儲存空間是定的。
猜想:p1=8,p2=17
實驗三:
#include<stdio.h> #define N 1000 int fun( int n,int m,int bb[N] ) { int i,j,k=0,flag; for( j=n;j<=m;j++ ) { flag=1; for( i=2;i<j;i++ ) {if( j%i==0 ) { flag=0; break; } } if( flag!=0 ) bb[k++]=j; } return k; } int main() { int n=0,m=0,i,k,bb[N]; scanf("%d",&n); scanf("%d",&m); for( i=0;i<m-n;i++ ) { bb[i]=0; } k=fun( n,m,bb ); for( i=0;i<k;i++ ) printf("%4d",bb[i]); return 0; }
實驗四:
#include<stdio.h> long long fun( int n ); int main() { int n; long long f; while( scanf("%d",&n) != EOF ) { f=fun(n); printf("n=%d,f=%11d\n",n,f); } return 0; } long long fun( int n ) { long long i,sum=1; for( i=1;i<=n;i++ ) { sum*=2; } return sum-1; }
實驗五:
#include<stdio.h> void draw( int n,char symbol ); int main() { int n,symbol; while( scanf("%d %c",&n,&symbol) != EOF ) { draw( n,symbol ); printf("\n"); } return 0; } void draw( int n, char symbol ) { int line=0,i=0; for( line=1;line<=n;line++ ) { for( i=1;i<=5-line;i++ ) { printf(" "); } for( i=1;i<=2*line-1;i++) { printf("%c",symbol); } printf("\n"); } }