用1-1000内的整数生成一个N*N的矩阵,显示上三角,并计算正对角线上各数之和。N为3-20之间的整数,
#include<stdio.h>
#include<stdlib.h>
int main()
{
printf("请输入N:");
int t[30][30]= {0};
int N,i,j,k,sum=0;
scanf("%d",&N);
for(i=0; i<N; i++)
{
for(j=0; j<N; j++)
{
t[i][j]=rand()%1000;
if(i<=j)
printf("%4d",t[i][j]);
else
printf(" ");
}
printf("\n");
}
for(i=0; i<N; i++)
for(j=0; j<N; j++)
{
if(i==j)
sum+=t[i][j];
}
printf("对角线之和为:%d",sum);
return 0;
}
c++的也差不多
#include<iostream>
using namespace std;
int main()
{
printf("请输入N:");
int t[30][30]= {0};
int N,i,j,k,sum=0;
scanf("%d",&N);
for(i=0; i<N; i++)
{
for(j=0; j<N; j++)
{
t[i][j]=rand()%1000;
if(i<=j)
printf("%4d",t[i][j]);
else
printf(" ");
}
printf("\n");
}
for(i=0; i<N; i++)
for(j=0; j<N; j++)
{
if(i==j)
sum+=t[i][j];
}
printf("对角线之和为:%d",sum);
return 0;
}