C高级-day2

目录

1.思维导图

2.作业一

3.作业二


1.思维导图

2.作业一

#include <stdio.h>
int main(int argc, const char* argv[])
{
    int n, m, i, j, k;
    int A[n][m];
    printf("请分别输入矩阵的行n和列m:");
    scanf("%d%d", &n, &m);
    if (n < 1 || m < 1) {
        printf("矩阵A不存在,请重新输入\n");
        scanf("%d%d", &n, &m);
    }
    printf("请输入矩阵的各个元素:\n");
    // 输入元素
    for (i = 0; i < n; i++) {
        for (j = 0; j < m; j++) {
            printf("A[%d][%d]=", i, j);
            scanf("%d", &A[i][j]);
        }
    }
    int MAX = 0; // 最大值
    for (i = 0; i < n; i++) { // 行循环
        for (j = 0; j < m; j++) { // 列循环
            int x = 1; // 乘积
            for (int k = 0; k < n; k++) { 
                if (k != i) {
                    x *= A[k][j]; // i行除外的行乘积
                }
            }
            for (int k = 0; k < m; k++) {
                if (k != j) {
                    x *= A[i][k]; // j列除外的列乘积
                }
            }
            // 比较最大值
            if (MAX < x) {
                MAX = x;
            }
        }
    }
    printf("%d\n", MAX);
    return 0;
}

3.作业二

  1. 有一个unsigned char类型的数据data,把他的第六个bit位置为1。请写出将 data第6位清0的表达式 (4,5)题用C语言

第六个bit位置为1 : data |= 1 << 5;

第六个bit位置为0 : data &= ~(1 << 5);

猜你喜欢

转载自blog.csdn.net/liu319293960_/article/details/130609174