数组,函数,菜菜,大佬,带带
程序定义了N*N的二维数组,并在主函数中自动赋值(rand函数)。请编写函数fun(int a),函数的功能是:使数组右上半三角元素中的值全部置成0。(N>=5){:5_104:} {:5_92:}
本帖最后由 桃花飞舞 于 2022-11-8 00:27 编辑
应该不难,就像输出菱形之类的吧.不过二维数组不能不写出其中一维数组的元素个数吧.void fun(int (*a), int n)行列的值都是5么,n的值也是5么?应该挺好写吧。就不给你写了
//前提:N是一个宏定义,如果没有这个前提,对于给定的函数fun(int a),它内部应该是无法拿到N的数值的
#include <stdio.h>
#define N 10
void PrintArr(int p) {
int (*ptr) = (int (*))p;//p本身就是一个int (*)的指针,这里再显式的转换一下,也可以不转换
printf("------------------\n");
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
printf("%5d", ptr);
}
putchar('\n');
}
}
void Fun( int a) {
int pos = N / 2;
for (int i = 0; i < pos; i++) {
for ( int j = pos + i; j < N; j++) {
a = 66;
}
}
}
int main(void) {
int a = {0};
PrintArr( a );
Fun( a );
PrintArr( a );
return 0;
}
页:
[1]