C语言习题整理

1、验证哥德巴赫猜想:一个充分大的偶数(大于等于4),它可以分解为两个素数(质数)的和

/// 判断是否为素数
/// param n
/// 
eturn
bool judgePrime(int n){
    //flag初始为0,不是素数的标志
    int flag=0;
    for(int i=2;i<n;i++){
        if(n%i==0)
            flag++;
    }
    if(flag>0) return 0;
    else return 1;
}
void GoldbachConjecture(int n){
    for(int a=2;a<=n/2;a++){
        if(judgePrime(a)&&judgePrime(n-a)){
            printf("%d=%d+%d
",n,a,n-a);
        }
    }
}

2、马克思手稿数学问题

/**
 * 马克思手稿数学问题
 */
void MarxManuscript(){
    int man,woman,child;
    for(man=0;man<=10;man++){
        woman=20-2*man;
        child=30-man-woman;
        if(3*man+2*woman+child==50)
            printf("男人有%d人,女人有%d人,小孩有%d人
",man,woman,child);

    }
}

3、将一个4*4的数组逆时针旋转90度

void multidimensionalArray(int a[][4]){
    int temp[4][4];
    for(int i=0;i<4;i++){
        for(int j=0;j<4;j++){
            temp[3-j][i]=a[i][j];
        }
    }
    for(int i=0;i<4;i++){
        for(int j=0;j<4;j++){
            printf("%d ",temp[i][j]);
        }
        printf("
");
    }
}
原文地址:https://www.cnblogs.com/liuliang1999/p/13052674.html