利用数组指针p将main函数中输入的二维数组a的所有元素输出, 要求先按行的顺序输出,然后再以列的顺序输出, 其中输出整型格式用 "%3d", (测试用数据大小不要超过2位数)。
函数接口定义:
void reOut(int (*p)[3]);
裁判测试程序样例:
#include <stdio.h> int main() { void reOut(int (*p)[3]); int i, j, a[2][3], (*p)[3]; for (i = 0; i < 2; i++) for (j = 0; j < 3; j++) scanf("%d", &a[i][j]); p= a; reOut(p); } /* 请在这里填写答案 */
输入样例:
在这里给出一组输入。例如:
1 2 3
4 5 6
输出样例:
1 2 3
4 5 6
1 4
2 5
3 6
void reOut(int (*p)[3])
{
int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
printf("%3d",*(*(p+i)+j));//就想考这个
}
printf("\n");
}
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
{
printf("%3d",p[j][i]);
}
if(i!=2)
{
printf("\n");
}
}
}
比较基础的题,用来熟悉指针和二维数组,题中给了行数为2,输出方法跟以前一样,最后用指针替换数组即可