目次
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
- unsigned char型のデータdataがあり、その6ビット目の位置が1に設定されています。データの6ビット目を0クリアする式(4,5)をC言語で書いてください。
6 番目のビット位置は 1: データ |= 1 << 5;
6 番目のビット位置は 0 です: data &= ~(1 << 5);