方阵的主对角线之上称为“上三角”,设计一个用于填充n(n从键盘读入,约定其取值范围为3~20)阶方阵的上三角区域的程序.填充的规则是:使用1,2,3……的自然数列,从左上角开始,按照顺时

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/07 01:25:38
方阵的主对角线之上称为“上三角”,设计一个用于填充n(n从键盘读入,约定其取值范围为3~20)阶方阵的上三角区域的程序.填充的规则是:使用1,2,3……的自然数列,从左上角开始,按照顺时

方阵的主对角线之上称为“上三角”,设计一个用于填充n(n从键盘读入,约定其取值范围为3~20)阶方阵的上三角区域的程序.填充的规则是:使用1,2,3……的自然数列,从左上角开始,按照顺时
    方阵的主对角线之上称为“上三角”,设计一个用于填充n(n从键盘读入,约定其取值范围为3~20)阶方阵的上三角区域的程序.填充的规则是:使用1,2,3……的自然数列,从左上角开始,按照顺时针方向螺旋填充.输出时要求每个数据宽度为4、右对齐.
  编程可用素材:printf("Please input n:")、printf("\nResult is:\n")、printf("%4d"...、printf("\n").
  程序的运行效果应类似地如图1所示,图1中的第1个6是从键盘输入的内容.

下面是我做的 .可以运行 就是斜着的那排数字有问题
#include <stdio.h>
int main(void)
{
 int n,str[20][20],i,j,m,y,k = 0;
 printf("Please input n:");
 scanf("%d",&n);
 
 if (n % 2 == 0)
 {
  m = n / 2;
 }
 else
 {
  m = n / 2 + 1;
 }
 for (i = 0; i < m; i++)
 {
  for (j = i; j < n - i - 1; j++)
  {
   k++;
   str[i][j] = k;
  }
  for (y = i,j = n - i - 1; y < n - i; y++,j--)
  {
   k++;
   str[y][j] = k;
  }
  for (j = n - i - 2; j > i; j--)
  {
   k++;
   str[j][i] = k;
  }
 }
 printf("\nResult is:\n");
 for (i = 0; i < n; i++)
 {
  for (j = 0; j < n - i; j++)
  {
   printf("%4d",str[i][j]);
  }
  printf("\n");
 }
 return 0;
}
}

方阵的主对角线之上称为“上三角”,设计一个用于填充n(n从键盘读入,约定其取值范围为3~20)阶方阵的上三角区域的程序.填充的规则是:使用1,2,3……的自然数列,从左上角开始,按照顺时
网上找到一段可以正确运行的,参考一下:
#include<stdio.h>
int main()
{
    int low,i,j,hi,N;
    int a[80][80];
    while(scanf("%d",&N))
    {
        if(N==0)
            break;
        low=0;
        hi=N;
        for(j=1; j<=N*(N+1)/2; low++,hi--)
        {
            //N行螺旋共有N*(N+1)/2个数
            //采用的方法是将1~N*(N+1)/2依次填入到对应位置
            for(i=low; i<hi-low; i++)
                a[low][i]=j++;
            for(i=low+1; i<hi-low; i++)
                a[i][hi-i-1]=j++;
            for(i=(hi-low)-2; i>low; i--)
                a[i][low]=j++;
        }
        for(i=0; i<N; i++)
        {
            for(j=0; j<N-i; j++)
                printf("%4d ",a[i][j]);
            printf("\n");
        }
    }
    return 0;
}

方阵的主对角线之上称为“上三角”,设计一个用于填充n(n从键盘读入,约定其取值范围为3~20)阶方阵的上三角区域的程序.填充的规则是:使用1,2,3……的自然数列,从左上角开始,按照顺时 谁告诉下这个题目C语言怎么写方阵的主对角线之上称为“上三角”.请你设计一个用于填充n阶方阵的上三角区域的程序.填充的规则是:使用1,2,3….的自然数列,从左上角开始,按照顺时针方向 (C语言)用指针将方阵的上三角元素与下三角对应的元素交换,使方阵沿着主对角线转180度. 定义二维数组保存一个4行4列的方阵,方阵中各元素的值 由键盘输入,要求将方阵的除主对角线外的上三角部分的每个元素的值加2,下三角部分的每个元素的值减2,然后输出改变后的方阵. 证明可逆上三角方阵的逆矩阵仍然是上三角方阵 定义一个N*N的矩阵,输出其对角线元素、上三角矩阵和下三角矩阵; 2、 编程实现N阶方阵的乘法运算. (C语言)用指针将方阵的上三角元素与下三角对应的元素交换,使方阵沿着主对角线转180度.你可以自己定义一个 如5*5的矩阵 1234556789 4213565432 就比如这个吧 为什么方阵的阶梯形一定是上三角矩阵 用随机整数形成一个6´6的一位整数方阵(1)求出其上三角元素和下三角元素(不包括对角线)的和(2)求出主对角线元素之积(3)求靠边元素的和 用C++编写一个求N*N方阵主对角线元素之和及非主对角线元素之和的函数,并设计一个测试主函数 上三角行列式的结果为什么等于主对角线所有项的乘积呢,求原因 上三角矩阵的特征值为什么是对角线元素? 什么是矩阵的主元方阵的话有主对角线,要不是方阵呢? 上三角行列式和下三角行列式的值均是对角线元素相乘么? 行列式,主对角线全x,上三角全为a,下三角全为-a 上三角矩阵主对角线值即为其特征值吗?下三角矩阵呢? 编写一段程序或设计一个函数实现一个方阵以副主对角线进行翻转并利用rand函数随机产生一个5阶方阵进行翻转 我们上课老师说,上三角行列式或者下三角行列式的值都是主对角线的乘积,但是这个行列式很明显值为-6而不是6,