紧急求助程序!C语言的

来源:百度知道 编辑:UC知道 时间:2024/05/26 23:01:13
编程:对某二维数组(N*N的二维数组)左上三角的全部元素(不包括对角线上的元素)做如下变换:

(1)若该数为奇数,则找到右下三角中和它关于对角线对称的元素,用这2个元素的最小公倍数替换该数:

(2)若不是奇数,则不变。对该数组的右下三角的元素(包括对角线上的元素)按大到小的顺序进行排序.

这个程序可以达到你想要的结果:
其中的成员(NUM)随你自己改写,那只是表示数组的A[NUM][NUM]的容量;
具体代码如下:
#include<stdio.h>
#include<conio.h>
#define NUM 5

void main()
{
int i, j, a[NUM][NUM], t, min, k;
clrscr(); //清屏语句
printf("Please input the array's number:\n");
for(i=0;i<NUM;i++) //输入数据
for(j=0;j<NUM;j++)
scanf("%d",&a[i][j]);

printf("\n\nThe old array:\n");
for(i=0;i<NUM;i++) //输出数据
for(j=0;j<NUM;j++)
{
printf("%d ",a[i][j]);
if(j==NUM-1)
printf("\n");
}
printf("\nThe result is:\n");
for(i=0;i<NUM;i++) //找最小公倍数
for(j=i+1;j<NUM;j++)
if(a[i][j]%2!=0)
{
min=(a[i][j]>a[j][i])?a[i][j]:a[j][i];
for(k=min;k<=a[i][j]*a[j][i];k++)
if(k%a[i][j]==0&&k%a[j][i]==0)