题目:
编写一个程序,声明一个int类型的3*5二维数组,并用合适的值初始化它。
- 该程序打印数组中的值,然后各值翻倍(即是原来的2倍),并显示出各个元素的新值。
- 编写一个函数显示数组的内容,再编写一个函数把各元素的翻倍。
- 这两个函数都以函数名和行数作为参数。
分析:
写2个函数即可。
- 翻倍函数,用于使原值翻倍
- 打印函数,用于打印新值的结果
代码实现:
#include <stdio.h>
#include <assert.h>
#define ROWS 3
#define COLS 5
void Print_arr(const int arr[][COLS], int rows)
{
assert(arr);
int i = 0;
int j = 0;
for (i = 0; i < rows; i++)
{
for (j = 0; j < COLS; j++)
{
printf("%-2d ", arr[i][j]);
}
printf("\n");
}
}
void Double_arr(int arr[][COLS], int rows)
{
assert(arr);
int i = 0;
int j = 0;
for (i = 0; i < rows; i++)
{
for (j = 0; j < COLS; j++)
{
arr[i][j] *= 2;
}
}
}
int main()
{
//声明
int arr[ROWS][COLS] = { {1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15} };
//打印原值
printf("原值为:\n");
Print_arr(arr, ROWS);
//原值翻倍
Double_arr(arr, ROWS);
//打印新值
printf("\n新值为:\n");
Print_arr(arr, ROWS);
return 0;
}