代码如下,如有帮助,请采纳一下,谢谢。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int **a;
int m,n,i,j,k;
float *w;
float sum ;
printf("请输入矩阵的行数和列数:");
scanf("%d %d",&m,&n);
a = (int**)malloc(m*sizeof(int*));
w = (float *)malloc(m*sizeof(float));
printf("请输入矩阵的值:\n");
for (i=0;i<m;i++)
{
a[i] = (int*)malloc(n*sizeof(int));
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
}
for (i = 0;i< m;i++)
{
w[i] = 0.0;
for (j=0;j<n;j++)
{
sum = 0.0;
for(k=0;k<n;k++)
sum += a[k][j];
w[i] += a[i][j] /sum;
}
w[i] = w[i]/n;
}
printf("权重向量为:");
for(i=0;i<m;i++)
printf("%f ",w[i]);
printf("\n");
free(a);
free(w);
return 0;
}