1.对某一二维数组进行转置
注意:调用函数里面的二维数组,需要用到数组指针的形式
#include <stdio.h>
void Transpose(int (*p)[5],int row,int col)
{
int tmp[10][10] = {};
for (int i = 0; i < col; i++)
{
for (int j = 0; j < row; j++)
{
tmp[i][j] = p[j][i];
printf("%2d ", tmp[i][j]);
}
printf("\n");
}
}
int main()
{
int arr[4][5] = { 4,6,67,4,1,7,8,6,5,2,41,15,13,25,32,17,39,20 };
int len = sizeof(arr) / sizeof(arr[0]);
Transpose(arr, 4,5);
return 0;
}
结果:
2.打印杨辉三角前10行
#include <stdio.h>
void print()
{
int arr[10][10] = {};
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < i; j++)
{
if (j != 0 && j != i)
{
arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
}
else
{
arr[i][j] = 1;
}
printf("%2d ", arr[i][j]);
}
printf("\n");
}
}
int main()
{
print();
return 0;
}
输出结果: