即对所有的i,j,都有a[i][j]等于a[j][i],其中:n的值和数组元素都由键盘输入
#include "stdio.h"
main()
{
int n,i,j,flag=1;
int **a;
printf("Please input n:\n");
scanf("%d",&n);
a=(int **)malloc(sizeof(int)*n);
for(i=0;i<n;i++)
a[i]=(int*)malloc(sizeof(int)*n);
printf("Please input data:\n");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%d ",a[i][j]);
printf("\n");
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(a[i][j]!=a[j][i])
{
flag=0;
break;
}
if(flag==1)
printf("It is a symmetric matrix !\n");
else
printf("It is not symmetric matrices !\n");
}
如果对你有所帮助请记得采纳最佳答案,谢谢!
main()
{
int n,i,j,flag=1;
int **a;
printf("Please input n:\n");
scanf("%d",&n);
a=(int **)malloc(sizeof(int)*n);
for(i=0;i<n;i++)
a[i]=(int*)malloc(sizeof(int)*n);
printf("Please input data:\n");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%d ",a[i][j]);
printf("\n");
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(a[i][j]!=a[j][i])
{
flag=0;
break;
}
if(flag==1)
printf("It is a symmetric matrix !\n");
else
printf("It is not symmetric matrices !\n");
}
如果对你有所帮助请记得采纳最佳答案,谢谢!
温馨提示:答案为网友推荐,仅供参考
第1个回答 2010-11-01
#include<stdio.h>
#define N 100 //N也可以取其他值,最好大一些,至少要保证N大于n。但N不能设置为动态变量,也就是不能在程序运行是输入。
//这是这个程序的缺点,如果真要动态输入,请看第一个;
int a[N][N];
int n,m = 1,i,j;
void setdata(void) //初始化数组函数
{
printf("Input n=");
scanf("%d",&n);
printf("Please input %d numbers.\n",n);
for(i = 0;i < n;i++)
{
for(j = 0;j < n;j++)
{
scanf("%d", &a[i][j]);
}
}
}
int check(void) //检测函数
{
for(i = 0;i < n;i++)
{
for(j = 0;j < n;j++)
{
if(a[i][j] != a[j][i])
{
m = 0;
break;
}
}
}
return m;
}
void main() //主函数
{
setdata();
check();
if(m) printf("The array is symmetrical.\n");
else printf("The array is not symmetrical.\n");
}
#define N 100 //N也可以取其他值,最好大一些,至少要保证N大于n。但N不能设置为动态变量,也就是不能在程序运行是输入。
//这是这个程序的缺点,如果真要动态输入,请看第一个;
int a[N][N];
int n,m = 1,i,j;
void setdata(void) //初始化数组函数
{
printf("Input n=");
scanf("%d",&n);
printf("Please input %d numbers.\n",n);
for(i = 0;i < n;i++)
{
for(j = 0;j < n;j++)
{
scanf("%d", &a[i][j]);
}
}
}
int check(void) //检测函数
{
for(i = 0;i < n;i++)
{
for(j = 0;j < n;j++)
{
if(a[i][j] != a[j][i])
{
m = 0;
break;
}
}
}
return m;
}
void main() //主函数
{
setdata();
check();
if(m) printf("The array is symmetrical.\n");
else printf("The array is not symmetrical.\n");
}