练习题
第一题
一个二维数组赋了初值,用户输入一个数,在该二维数组中查找。找到则返回行列位置,没找到则提示。
代码
#include <stdio.h>
int main()
{
int array[4][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12},
{13, 14, 15, 16}};
int searchValue;
int found = 0;
printf("请输入要查找的数字:");
scanf("%d", &searchValue);
int ROWS = 4,COLS = 4;
for (int i = 0; i < ROWS; i++)
{
for (int j = 0; j < COLS; j++)
{
if (array[i][j] == searchValue)
{
printf("找到数字 %d,位置在行 %d,列 %d。\n", searchValue, i, j);
found = 1;
break;
}
}
if (found)
{
break;
}
}
if (!found)
{
printf("在数组中未找到数字 %d。\n", searchValue);
}
return 0;
}
执行结果
第三题
在行列相等数组计算主对角线元素的和
#include <stdio.h>
int main()
{
int n;
int sum = 0;
// 输入方阵的大小
printf("请输入方阵的大小(n x n): \n");
scanf("%d", &n);
int matrix[n][n];
// 输入方阵的元素
printf("请输入方阵的元素(每行 %d 个整数,共 %d 行):\n", n, n);
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
scanf("%d", &matrix[i][j]);
}
}
// 计算主对角线元素之和
for (int i = 0; i < n; i++)
{
sum += matrix[i][i];
}
printf("主对角线元素之和为: %d\n", sum);
return 0;
}
运行结果
第四题
计算一个矩阵下三角元素的和
代码
#include <stdio.h>
int main()
{
int arr[4][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
int sum = 0;
int ROWS = 4,COLS = 4;
for (int i = 0; i < ROWS; i++)
{
for (int j = 0; j <= i; j++)
{
sum += arr[i][j];
}
}
printf("矩阵下三角元素的和是: %d\n", sum);
return 0;
}
运行结果
第五题
电影院为了答谢影迷的支持,在某一排的某一列座位上放置了一个大礼包,放置礼物的位置具有这样的规则(行和列的平方和为开店日期 512(5月12日)); 请设计程序找出大礼包的位置,(假定电影院有20排,每排25个座位)
#include <stdio.h>
int main(int argc, char *argv[])
{
int arr[20][25];
int sum;
for (int i = 0; i < 20; i++)
{
for (int j = 0; j < 25; j++)
{
sum = i * i + j * j;
if (sum == 512)
{
printf("大礼包在第%d行,第%d列!\n", i , j );
break;
}
}
}
return 0;
}