C语言作业有一道改错题不会,求大神帮忙解答。
求N*N矩阵的主对角线(左上-右下)元素的和并输出。例如,当矩阵为:1622354584564567则主对角线上的元素之和为:18在fum()函数中的/*********...
求N*N矩阵的主对角线(左上-右下)元素的和并输出。
例如,当矩阵为:
1 6 2 2
3 5 4 5
8 4 5 6
4 5 6 7
则主对角线上的元素之和为:18
在fum()函数中的/**********begin***********/与/***********end************/
之间填入你编写的若干语句。
#include<stdio.h>
#define N 4
int fun(int arr[N][N]);
{
/****************begin*****************/
/****************end*******************/
}
int main()
{
void NONO( );//函数声明
int a[N][N]={1,6,2,2,3,5,4,5,8,4,5,6,4,5,6,7}
int i,j ,sum;
printf("array is:\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%5d",a[i][j]);
printf("\n");
}
sum=fun(a);
printf("result is: %d\n,sum);
NONO( );
return 0;
}
void NONO()
{FILE *fr,*fw;
int i,j,x[N][N];
fr=fopen("E:\\homework\\20060735.DAT","r");
fw=fopen("E:\\homework\\20020735.DAT","r");
for(i=1;i<=5;i++)
{for(j=0;j<N;j++)
fscanf(fr,"%d,%d,%d,%d",&x[j][0],&x[j][1],&x[j][2],&x[j][3]);
fprintf(fw,"resultis: %d\n",fun(x)):
}
fclose(fr);
fclose(fw);
} 展开
例如,当矩阵为:
1 6 2 2
3 5 4 5
8 4 5 6
4 5 6 7
则主对角线上的元素之和为:18
在fum()函数中的/**********begin***********/与/***********end************/
之间填入你编写的若干语句。
#include<stdio.h>
#define N 4
int fun(int arr[N][N]);
{
/****************begin*****************/
/****************end*******************/
}
int main()
{
void NONO( );//函数声明
int a[N][N]={1,6,2,2,3,5,4,5,8,4,5,6,4,5,6,7}
int i,j ,sum;
printf("array is:\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%5d",a[i][j]);
printf("\n");
}
sum=fun(a);
printf("result is: %d\n,sum);
NONO( );
return 0;
}
void NONO()
{FILE *fr,*fw;
int i,j,x[N][N];
fr=fopen("E:\\homework\\20060735.DAT","r");
fw=fopen("E:\\homework\\20020735.DAT","r");
for(i=1;i<=5;i++)
{for(j=0;j<N;j++)
fscanf(fr,"%d,%d,%d,%d",&x[j][0],&x[j][1],&x[j][2],&x[j][3]);
fprintf(fw,"resultis: %d\n",fun(x)):
}
fclose(fr);
fclose(fw);
} 展开
1个回答
展开全部
#include<stdio.h>
#define N 4
int fun(int arr[N][N]);
{
/****************begin*****************/
int i,j;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
{
while(i==j)
sun=+a[i][j];
}
return sum;
/****************end*******************/
}
int main()
{
void NONO( );//函数声明
int a[N][N]={1,6,2,2,3,5,4,5,8,4,5,6,4,5,6,7}
int i,j ,sum;
printf("array is:\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%5d",a[i][j]);
printf("\n");
}
sum=fun(a);
printf("result is: %d\n,sum);
NONO( );
return 0;
}
void NONO()
{FILE *fr,*fw;
int i,j,x[N][N];
fr=fopen("E:\\homework\\20060735.DAT","r");
fw=fopen("E:\\homework\\20020735.DAT","r");
for(i=1;i<=5;i++)
{for(j=0;j<N;j++)
fscanf(fr,"%d,%d,%d,%d",&x[j][0],&x[j][1],&x[j][2],&x[j][3]);
fprintf(fw,"resultis: %d\n",fun(x)):
}
fclose(fr);
fclose(fw);
}
你看看对吧。我这给机子没有运行软件。
基本思路就是使i=j,来计算和。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询