C 上級-2日目

目次

1.マインドマップ

2.課題1

3.課題2


1.マインドマップ

 

2.課題1

#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.課題2

  1. unsigned char型のデータdataがあり、その6ビット目の位置が1に設定されています。データの6ビット目を0クリアする式(4,5)をC言語で書いてください。

6 番目のビット位置は 1: データ |= 1 << 5;

6 番目のビット位置は 0 です: data &= ~(1 << 5);

おすすめ

転載: blog.csdn.net/liu319293960_/article/details/130609174