C语言生成随机整数二维数组并计算每行和

版权申诉
5星 · 超过95%的资源 1 下载量 122 浏览量 更新于2024-09-05 2 收藏 790B TXT 举报
本篇文档是关于C语言程序设计的一份教程,主要涉及如何在C语言环境中生成并处理一个特定的二维数组。题目要求创建一个名为`a[5][4]`的二维数组,其中包含20个随机整数,这些数的范围在30到120之间。接下来,程序的目标是计算并输出每行元素的和,并将结果存储在一个辅助数组`b[5]`中。 首先,我们来看一下关键部分的代码: ```c #include <stdlib.h> // 导入必要的头文件,如用于内存管理的stdlib.h #include <stdio.h> // 提供输入/输出函数的头文件 #include <time.h> // 使用time()函数获取当前时间作为随机数生成的种子 // 函数定义:计算二维数组每行元素之和 void row_sum(int a[5][4], int b[5]) { for (int i = 0; i < 5; i++) { // 遍历数组的行 b[i] = 0; // 初始化每行和为0 for (int j = 0; j < 4; j++) { // 遍历每行的元素 b[i] += a[i][j]; // 将元素值累加到行和 } } } // 主函数:生成随机数、打印数组和计算行和 int main() { void row_sum(); // 定义函数调用 int a[5][4], b[5], i, j; srand((unsigned int) time(0)); // 设置随机数种子,确保每次运行结果不同 for (i = 0; i < 5; i++) { for (j = 0; j < 4; j++) { a[i][j] = rand() % 120 + 30; // 生成[30, 120]范围内的随机整数 } } // 打印二维数组a for (i = 0; i < 5; i++) { for (j = 0; j < 4; j++) { printf("%5d", a[i][j]); // 以5位宽度打印每个元素,换行 } printf("\n"); } row_sum(a, b); // 调用row_sum函数计算行和 for (i = 0; i < 5; i++) { printf("%6d", b[i]); // 以6位宽度打印行和 } printf("\n"); return 0; // 程序结束 } ``` 这段代码首先包含了必要的库,然后定义了一个名为`row_sum`的函数,用于计算二维数组中每行元素的和。主函数`main`负责生成二维数组`a`,通过`srand`和`rand()`函数生成随机数,接着调用`row_sum`函数并将结果存储在`b`数组中。最后,代码会打印出原始数组`a`和计算后的行和数组`b`。 这个程序展示了如何在C语言中实现数组操作、随机数生成以及简单的矩阵计算,同时锻炼了对循环结构的理解。通过学习这部分内容,读者可以增强对C语言编程基础,尤其是数组和线性代数应用的理解。