回答一道关于数组的c语言编程题

程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(inta[][N]),函数的功能是:使数组左下三角元素中的值全部置成0。例如:a数组中的值为|19||... 程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N]),函数的功能是:使数组左下三角元素中的值全部置成0。例如:a数组中的值为

|1 9 | |0 9 7|

a= |2 3 8|则返回主程序后a数组中的值应为 |0 0 8|

|4 5 6 | |0 0 0|

注意:部分源程序存在文件PROG1.C文件中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#include <conio.h>

#include <stdio.h>

void fun(int a[], int b[], int c[], int n)

{

}

NONO ( )

{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */

FILE *rf, *wf ;

int a[100], b[100], c[100], i, j ;

rf = fopen("in.dat", "r") ;

wf = fopen("bc02.dat","w") ;

for(i = 0 ; i < 5 ; i++) {

for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d,", &a[j]) ;

for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d,", &b[j]) ;

fun(a, b, c, 5) ;

for(j = 0 ; j < 5 ; j++) fprintf(wf, "%d ", c[j]) ;

fprintf(wf, "\n") ;

}

fclose(rf) ;

fclose(wf) ;

}

main()

{ int i, a[100]={1,3,5,7,8}, b[100]={2,3,4,5,8}, c[100];

fun(a, b, c, 5);

printf("The result is: ");

for (i=0; i<5; i++) printf("%d ", c[i]);

printf("\n");

NONO();

}
展开
 我来答
qwsfws
2009-06-25 · TA获得超过276个赞
知道小有建树答主
回答量:227
采纳率:0%
帮助的人:236万
展开全部
我看你这个有点问题喃, fun(a, b, c, 5);你如果想实现直接用二重循环就行了,但从你程序里看到,a,b,都是一维数组。随便写一个二维数组下三角为零的问题,
void fun(int a[],int n)
{int i,j;
for(i=0;i<n;i++)
for(j=0;j<=i;j++)
a[i][j]=0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式