精华内容
下载资源
问答
  • 希望能在我原来的程序修改,不要重新写另外一个程序给我,谢了!!!! 重新发吧..... #include #include #include main() { int a[100][100],n,j,k,i,ix,b; /*j是行,k是列,b是循环变量,ix控制每次循环次数*/ ...

    例如:

    输入:4

    输出:

    1  3   4  10

    2  5   9  11

    6  8  12 15

    7 13 14 16

    我写的程序如下:

    #include#include#includemain(){      int a[100][100],n,j,k,i,ix,b; /*j是行,k是列,b是循环变量,ix控制每次循环次数*/       i=1;ix=1;k=1;j=1;     memset(a,0,sizeof(a));

    printf("请输入一个数:");      scanf("%d",&n);      while(i!=n*n)      {                 if(k==1&&j==1)    /*把1赋给左上角的数组(第一个数)*/                  a[j][k]=i;                 i+=1;j++;                 if(k==1&&j!=1)   /*“↗”这个方向赋值*/                 {                 for(b=1;b<=ix;b++)                 a[j][k]=i;                 j--;k++;                 i+=1;                 }                 if(j==1&&k!=1)/*“↙”这个方向赋值*/                 {                  for(b=1;b<=ix;b++)                  a[j][k]=i;                 j++;k--;                 i+=1;                 }                  if(j==0)       /*因为前面的赋值循环是先赋值在对jk分别自加自减,所以有可能等于0*/                  {                         j++;                         }                 else if(k==0)                 {                         k++;                 }                 if(ix=n)                 {                 ix-=1;                 }                 printf("%d\n",a[j][k]);    /*测试用,可以无视*/      }                 for(j=1;j<=n;j++)                 {                 for(k=1;k<=n;k++)                 {                 printf("%d ",a[j][k]);  /*最后输出*/                  }                 printf("\n");                 }                 system("pause");                 }结果输入4

    输出:

    1 3 0 0

    2 0 0 0

    5 0 0 0

    0 0 0 0

    求解啊!

    希望能在我原来的程序上修改,不要重新写另外一个程序给我,谢了!!!!

    重新发吧.....

    #include

    #include

    #include

    main()

    {

    int a[100][100],n,j,k,i,ix,b; /*j是行,k是列,b是循环变量,ix控制每次循环次数*/

    i=1;ix=1;k=1;j=1;

    memset(a,0,sizeof(a));

    printf("请输入一个数:");

    scanf("%d",&n);

    while(i!=n*n)

    {

    if(k==1&&j==1)    /*把1赋给左上角的数组(第一个数)*/

    a[j][k]=i;

    i+=1;j++;

    if(k==1&&j!=1)   /*“↗”这个方向赋值*/

    {

    for(b=1;b<=ix;b++)

    a[j][k]=i;

    j--;k++;

    i+=1;

    }

    if(j==1&&k!=1)  /*“↙”这个方向赋值*/

    {

    for(b=1;b<=ix;b++)

    a[j][k]=i;

    j++;k--;

    i+=1;

    }

    if(j==0)       /*因为前面的赋值循环是先赋值在对jk分别自加自减,所以有可能等于0*/

    {

    j++;

    }

    else if(k==0)

    {

    k++;

    }

    if(ix

    {

    ix+=1;

    }

    else if(ix>=n)

    {

    ix-=1;

    }

    printf("%d\n",a[j][k]);    /*测试用,可以无视*/

    }

    for(j=1;j<=n;j++)

    {

    for(k=1;k<=n;k++)

    {

    printf("%d ",a[j][k]);  /*最后输出*/

    }

    printf("\n");

    }

    system("pause");

    }

    展开全文
  • 蛇形矩阵c语言实现

    2021-05-20 09:28:45
    【问题描述】蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。如:1 3 6 10 152 5 9 144 8 137 1211本题要求根据输入的行数要求,输出对应的一个蛇形上三角矩阵【输入形式】一个整数【输出形式】与之对应的...

    【问题描述】蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。如:

    1 3 6 10 15

    2 5 9 14

    4 8 13

    7 12

    11

    本题要求根据输入的行数要求,输出对应的一个蛇形上三角矩阵

    【输入形式】一个整数

    【输出形式】与之对应的蛇形上三角矩阵

    【样例输入】

    5

    【样例输出】

    1 3 6 10 15

    2 5 9 14

    4 8 13

    7 12

    11

    【样例说明】

    每个数字占4个宽度,左对齐,可以使用printf("%-4d", i);进行输出

    每行首列按1,2,3,4,,,,依次累加

    如1+1=2,2+2=4,4+3=7,,,,,

    每一行内按其行数为始依次累加c,c的初值设为2,每换一次行则加1

    如第一行内1+2=3,3+3=6,6+4=10

    第二行内则为2+3=5,5+4=9,9+5=10

    ,,,,

    主要理清横向递增和纵向递增的思路

    #include "stdio.h"

    int main()

    {

    int a[100][100],i,j,k,c=2;

    scanf("%d",&k);

    for(i=0;i

    {

    if(i==0)a[i][0]=1;

    else

    a[i][0]=a[i-1][0]+i;

    }

    for(i=0;i

    {

    for(j=1;j

    {

    a[i][j]=a[i][j-1]+c;

    c++;

    }

    c=i+3;

    }

    for(i=0;i

    {

    for(j=0;j

    printf("%-4d",a[i][j]);

    printf("\n");

    }

    return 0;

    }

    标签:输出,语言,10,int,矩阵,样例,蛇形

    来源: https://blog.csdn.net/qq_42322831/article/details/92155077

    展开全文
  • C语言蛇形矩阵

    千次阅读 2020-02-23 09:57:45
    蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 输入 本题有多组数据,每组数据由一个正整数N组成。(N不大于100) 输出 对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角...

    蛇形矩阵

    题目描述
    蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。

    输入
    本题有多组数据,每组数据由一个正整数N组成。(N不大于100)

    输出
    对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。

    样例输入
    5

    样例输出
    1 3 6 10 15
    2 5 9 14
    4 8 13
    7 12
    11

    #include<stdio.h>
    int main()
    {
    	int n,a[100][100];
    	scanf("%d",&n);
    	int i,j;
    	int m=1;
    	for(int k=0;k<n;k++)
    	{
    		for(i=0;i<n;i++)
    		{
    			j=k-i;
    			if(j>=0)
    			{
    				a[i][j]=m;
    				m++;
    			}
    		}
    	}
    	for(i=0;i<n;i++)
    	{
    		for(j=0;j<n-i;j++)
    		{
    			if(i+j==n-1)
    				printf("%d\n",a[j][i]);
    			else
    				printf("%d ",a[j][i]);
    		}
    	}
    }
    
    展开全文
  • C语言输出蛇形矩阵

    千次阅读 多人点赞 2020-06-09 01:35:20
    写在前面:这里是小王成长日志,一名在校大学生,想在学习之余将自己...蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 输入 本题有多组数据,每组数据由一个正整数N组成。(N不大于100) 输出 对于每一组数.

    写在前面:这里是小王成长日志,一名在校大学生,想在学习之余将自己的学习笔记分享出来,记录自己的成长轨迹,帮助可能需要的人。欢迎关注与留言。

    题目:

    题目链接:https://www.dotcpp.com/oj/problem1097.html

    题目 1097: 蛇行矩阵

    时间限制: 1Sec 内存限制: 64MB 提交: 6903 解决: 4643

    题目描述
    蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。
    输入
    本题有多组数据,每组数据由一个正整数N组成。(N不大于100)
    输出
    对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。
    样例输入
    5

    样例输出
    1 3 6 10 15
    2 5 9 14
    4 8 13
    7 12
    11

    C语言解法

    这道题主要就是去找蛇形矩阵的规律,可以发现每一行的元素是其前一个元素加上行数(0开始)加上列数(0开始)再加上1
    每一行第一个元素是上一行第一个元素加上当前行数(0开始)
    注意在这道题里我是生成了一个100阶的蛇形矩阵,然后再根据N输出这个100阶矩阵的部分,但是并不需要,可以直接生成N阶即可,我这么做是因为一开始看错了题,以为有多个测试数据,稍微改改就可以了,很简单的

    #include <stdio.h>
    int main()
    {
       int n;
       int mt[100][100];
       mt[0][0] = 1;
       for (int i = 0; i < 100; i++)
       {
          for (int j = 0; j < 100 - i; j++)
          {
             if (j == 0 && i > 0)
                mt[i][j] = mt[i - 1][j] + i; //赋值首元素
             else if (j != 0 || i != 0)//避免mt[0][0]遭覆盖
                mt[i][j] = mt[i][j - 1] + i + j + 1;
          }
       }
    
       scanf("%d", &n);
       //打印
       for (int i = 0; i < n; i++)
       {
          for (int j = 0; j < n - i; j++)
          {
             printf("%d", mt[i][j]);
             if (j != n - i - 1)
                printf(" ");
          }
          printf("\n");
       }
    }
    
    

    都看到这里了,各位哥哥姐姐叔叔阿姨给小王点个赞 关个注 留个言吧,和小王一起成长吧,你们的关注是对我最大的支持。
    有事没事进来看看吧 : 小王的博客目录索引
    C语言专栏看这 : C语言学习专栏


    如果以上内容有任何不准确或遗漏之处,或者你有更好的意见,就在下面留个言让我知道吧-我会尽我所能来回答。

    展开全文
  • c语言蛇形矩阵实现

    2010-10-01 00:59:54
    蛇形矩阵的实现的经典案例for(i=1;i;i++)/*对副对角线上三角端点赋值*/ { k=k+i; if(i%2==1) { a[0][i]=k; a[i][0]=k+i; } else { a[i][0]=k; a[0][i]=k+i; } }
  • 从键盘输入N,输出如下图所示的N行的数字三角. 例如: N = 5,那么输出如下: 输入格式: 输入一个整数N,1<= N <= 45 输出格式: 输出如题所示的数字三角形,为了输出美观,每个数字栈5个字符位,右对齐(即%...
  • 需求:N*N矩阵,构造如下图所示下三角蛇形矩阵 需求分析: 首先矩阵要填入的数值范围,假设矩阵为N*N,那么需要填入的数是1到(N*N+N)/2 下三角矩阵有三个规律,一是沿着主对角线方向向下移动,下标i,j每次分别...
  • C语言-蛇形矩阵

    2019-07-01 12:20:50
    int main() { int i,j,a[100][100],n,k; printf("请输入列数n= "); scanf("%d",&n); k=1; //输出上三角 for(i=0; i<n;i++) { for(j=0; j<=i; j++) { if(...
  • 蛇形矩阵-c语言

    2020-03-30 14:35:48
    蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 输入 本题有多组数据,每组数据由一个正整数N组成。(N不大于100) 输出 对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角...
  • 下面是参考代码: 输出结果如下: 打印蛇形矩阵 顾名思义,蛇形矩阵:矩阵的一种,常被应用在编程题目与数学数列中。 它由1开始的自然数依次排列成的一个矩阵,有上三角、环形或对角线等走法,输入文件由一行或多行...
  • 从键盘任意输入一个自然数n(n表示矩阵的大小,假设不超过100),请编程输出一个nn的蛇形矩阵。如果输入的n不是自然数或者输入了不合法的数字,则输出"Input error!"。 提示 用两个双重循环分别计算nn矩阵...
  • 数组蛇形矩阵实现

    2021-05-20 09:28:44
    //创建n*n的矩阵 for(round = 0; round ; round++) { x = round; for(y = round; y ; y++) { a[x][y] = count; count++; } //print 1,2,3,4,5 y = n - round - 1; for(x = round + 1; x ; x++) { a[x][y] = count; ...
  • 上三角蛇形矩阵

    千次阅读 2017-02-17 10:33:27
    void matrix(int n) {  int i;  for (i = 0; i  {  int j;  for (j = 0; j  {  ++i;  j++;  printf("%-3d",i*(i+1)/2+j*(j+1)/2+i*(j-1)-i-j+1);  --i;  --j;  } ...}
  • c语言蛇形矩阵

    千次阅读 2017-06-05 21:01:34
    首先我们把它分成上三角和下三角。我们可以把上三角赋值想这样子1, 2 3, 4 5 6, 7 8 9 10, 11 12 13 14 15. 第1次赋值是1次,第2次是2次,第3次是3次...。所以外循环是n次,内循环次数等于该次输出数字的最大...
  • 蛇形矩阵(三角形)

    千次阅读 2016-12-13 11:02:37
    题目说明 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 样例输入 5 样例输出 1 3 6 10 15 2 5 9 14 4 8 13 7 12 11
  • 输出蛇形矩阵 C语言

    2020-12-14 11:40:57
    输出蛇形矩阵 样例 输入 5 输出 15 7 6 2 1 16 14 8 5 3 22 17 13 9 4 23 21 18 12 10 25 24 20 19 11 解答 #include <stdio.h> int main() { int a[20][20] = {0}; int i, j, n, count = 1; scanf("%...
  • 蛇形矩阵三角型)

    2019-01-02 20:34:40
    { //输出上三角 if(i%2==0) a[i-j][j]=k; else a[j][i-j]=k; k++; } } //输出下三角 for(i=n; i*n; i++) { for(j=1; j*n-i; j++) { if(i%2==0) a[n-j][i-n+j]=k; //n+1在这里是定值了 else a...
  • 输出蛇形矩阵,数学规律(C语言

    千次阅读 2018-11-05 23:03:30
    蛇形矩阵中容易发现,中心对称的元素的和是相同的,蛇形矩阵在打印出上三角之后,先通过矩阵的大小n,知道最后一个元素为n*n,可以利用中心对称,每组对称的元素之和都是第一个和最后一个元素的和。代码如下: /* ...
  • 蛇形数字三角形(C语言实现)

    千次阅读 2018-12-06 10:02:04
    蛇形数字三角形(C语言实现) 代码如下: #include &amp;lt;stdio.h&amp;gt; #include &amp;lt;stdlib.h&amp;gt; int cnt = 0; int a[26][50]; int n; void f(int top, int bottom) { ...
  • #include<stdio.h> int main() { int i,j,n,k,a=1,b=1; scanf("%d",&n); for(i=1;i<=n;i++) { b=a; a=a+i; k=i+1; for(j=i;j<=n;j++) { if(j==0) { ... k++
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼#include #include#include#includeusing namespace std;void rowfill(int& startnum, int& startrow,int& startcol, int length,int step,int direct,...
  • #include<stdio.h> int main() { int i,j,n,k,a=1,b=1; scanf("%d",&n); for(i=1;i<=n;i++) { b=a; a=a+i; k=i+1; for(j=i;j<=n;j++) { if(j==0) { ... k++
  • 输入正数n,按照下列格式进行在屏幕打印出n到1; 整数n(n) 输出蛇形排列的n 10 10 9 5 4 8 6 3 7 2 1 ![图片说明](https://img-ask.csdn.net/upload/201911/28/1574935732_585042.png...
  • C++输出蛇形三角矩阵

    2020-11-28 10:54:48
    30),输出1到n的蛇形矩阵。 例如: n=8时 n=10时 算法思想: 观察输出结果,在行或者列坐标为0时发生了转向,转向后坐标行减1,列加1或者行加1,列减1,所以用flag控制转向,转向之后移动坐标,并置入对应数字。 ...
  • 蛇形矩阵回归算法下的小程序开发,本文所展示的小程序是在蛇形矩阵(螺旋式)基础加以利用编写的一个小程序。
  • C语言 蛇形矩阵

    2021-12-10 13:10:20
    一个n行的蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 第一行有n个数,接下来每行逐减。具体的规律参考样例。 Input 输入一个整数$n(1 \le n \le 100)$。 Output 输出n行的蛇形矩阵。 Sample ...
  • 蛇形矩阵

    2017-11-15 16:41:51
    蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形 Input 一个正整数N(N Output 输出一个N行的蛇形矩阵  Sample Input 5 Sample Output 1 3 6 10 15 2 5 9 14 4 8 13 7 12 11 #...
  • 蛇形矩阵(最简单算法及分析)

    千次阅读 多人点赞 2021-02-15 09:24:46
    蛇形矩阵这道算法题大家应该都遇到过,对于大部分初学者来说是一个比较难的题(包括博主),今天来分享一下解决这道题的简单算法(认真看就一定能看懂!!!) 首先我们来分析一下这道题目: 思路: 这样的矩阵我们...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 231
精华内容 92
关键字:

c语言上三角蛇形矩阵

c语言 订阅