1. 对一个5*5矩阵,要求将主对角线元素和副对角线元素赋值0,其余元素赋值1,并输出该矩阵。


完整程序:

#include<stdio.h>
main()
{
int i,j,matrix[5][5];
for(i = 0; i<5; i++)//主裂唤对角线元素和副对角线元素赋值0
{
matrix[i][i] = 0;
matrix[i][4-i] = 0;
}
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{if(matrix[i][j]!=0)/知雹/不等于0的其他置于1
matrix[i][j]=1;
}
for(i=0;i<5;i++)
{ for(j=0;j<5;j++)/搭源帆/输出二维数组
printf("%d ",matrix[i][j]);
printf("\n");}

}
或者中间用楼上的
也可以

for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
if((i==j)||((i+j)==4))Matrix[i][j]=0;
else Matrix[i][j]=1;
}
}
不用二重循环也可以做,更简单答贺庆。主要的清握部分如下:
void fun(int matrix[][5])
{
int i;
for(i = 0; i<拍配5; i++)
{
matrix[i][i] = 0;
matrix[i][4-i] = 0;
}
return;
}
用matlab可神前以这样哈

n=5;%你要的矩阵的大小
a=eye(n);
b=rot90(a);
c=ones(n)-(a|b)
这就是结果游扮清了哈

要是 Mathematica 可以这样 哈

n = 5;
a = IdentityMatrix[n];
b = Reverse[a];
c = a + b /. {x_Integer /; x > 0 -> 0, x_Integer /; x == 0 -> 1} //
MatrixForm
加油哈,祝君好缺腊运!
for(i=0;i<5;i++)
{
for(j=0;j<简大5;j++)
{
if((i==j)||((i+j)==4))Matrix[i][j]=0;
else Matrix[i][j]=1;
}
}

这是主要算法,其他自己添加吧,Matrix[i][j]是粗春你所说的矩阵岩咐耐
一个二维数组
两个for循环
数组两个index相同赋值0
其余1