目录
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.作业二
- 有一个unsigned char类型的数据data,把他的第六个bit位置为1。请写出将 data第6位清0的表达式 (4,5)题用C语言
第六个bit位置为1 : data |= 1 << 5;
第六个bit位置为0 : data &= ~(1 << 5);