星星博客 »  > 

C语言实验九(共10题)

代码个人制作,如需解析请私信。

9-1

int max(int a,int b){
    int c=a;
    c=(a>b)?a:b;
    return c;
}

9-2

double mypow( double x, int n ){
    double result=1;
    int i;
    for(i=0;i<n;i++){
        result*=x;
    }
    return result;
}

9-3

double dist( double h, double p ){
    double total=h;
    for(h*=p;h>=TOL;h*=p){
        total+=2*h;
    }
    return total;
}

9-4

int gcd( int x, int y ){
    while(x!=y){
        if(x>y) x=x-y;
        else y=y-x;
    }
    return x;
}

9-5

int mypow( int x, int n ){
    int result=1;
    int i;
    for(i=0;i<n;i++){
        result*=x;
    }
    return result;
}

int reverse( int number ){
    int i,n=0,r_number=0;
    for(i=1;number/mypow(10,i-1)!=0;i+=1){
        n++;
    }
    for(i=1;number/mypow(10,i-1)!=0;i+=1){
        
        r_number+=((number%mypow(10,i))/(mypow(10,i)/10))*mypow(10,n-i);
    }
    return r_number;
}

9-6

int even( int n ){
    if(n%2) return 0;
    else return 1;
}
int OddSum( int List[], int N ){
    int i,Result=0;
    for(i=0;i<N;i++){
        if ( even(List[i])==0 )
            Result+=List[i];
    }
    return Result;
}

9-7

int  mypow( int x, int n ){
    int result=1;
    int i=0;
    for(i=0;i<n;i++){
        result*=x;
    }
    return result;
}

int fn( int a, int n ){
    int i=0,Result=0;
    for(i=0;i<n;i++){
        Result+=a*mypow(10,i);
    }
    return Result;
}

int SumA( int a, int n ){
    int i=0,Result=0;
    for(i=1;i<=n;i++){
        Result+=fn(a,i);
    }
    return Result;
}

9-8

int prime( int p ){
    int i,x=0;
    if(p>1){
        for(i=2;i<p;i++){
            if((int)(1000*((double)p/(double)i))%1000==0) x++;
        }//x为因子数;
        if(x==0) return 1;
        else return 0;
    }
    else return 0;
}

int PrimeSum( int m, int n ){
    int i,t,x=0;
    int result=0;
    for(t=m;t<=n;t++){
        if(prime(t)) result+=t;
    }
    return result;
}

9-9

int mypow( int x, int n ){
    int result=1;
    int i;
    for(i=0;i<n;i++){
        result*=x;
    }
    return result;
}

int is( int number ){
    int i,n=0,sum=0;
    for(i=1;number/mypow(10,i-1)!=0;i+=1){
        n++;
    }
    for(i=1;i<=n;i+=1){
        sum+=(number%mypow(10,i))/(mypow(10,i)/10);
    }
    if(sum==5) return 1;
    else return 0;
}

void count_sum( int a, int b ){
    int i,k=0,result=0;
    for(i=a;i<=b;i++){
        if(is(i)) {
            result+=i;
            k++;
        }
    }
    printf("count = %d, sum = %d",k,result);
}

9-10

int Sum ( int List[], int N ){
    int i,result=0;
    for(i=0;i<N;i++){
        result+=List[i];
    }
    return result;
}

 

相关文章