精华内容
下载资源
问答
  • 蛇形矩阵c语言实现

    2021-05-21 03:57:13
    【问题描述】蛇形矩阵是由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

    展开全文
  • 输出蛇形矩阵 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("%...

    输出蛇形矩阵

    样例

    输入

    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("%d", &n);
        i = 0;
        j = n;
    
        do                                       /*从右上方开始的半个倒三角*/
        {
            for(j -= 1; i>=0; i--, j--)          /*下行(2 3,7 8 9 10……)*/
            {
                a[i][j] = count++;
            }
            if(j<0) break;
            for(i = 0; j<n; i++, j++)           /*上行(1,4 5 6……)*/
            {
                a[i][j] = count++;
            }
        }while(i>0&&j>0);
    
        i = -1;
        j = 0;
        do										/*接着倒三角作左下方的正三角*/
        {
            for(i += 2, j = 0; i<n; i++, j++)	/*同理,下行*/
            {
                a[i][j] = count++;
            }
            for(i -= 1, j -= 2; j>=0; i--, j--) /*同理,上行*/
            {
                a[i][j] = count++;
            }
        }while(i != n);
    
    
        for(i = 0; i<n; i++)					/*输出矩阵*/
        {
            for(j = 0; j<n; j++)
            {
                printf("%d ", a[i][j]);
            }
            putchar('\n');
        }
        return 0;
    }
    

    总结

    (小声)其实我这个代码只对n为奇数时才适用。。。

    展开全文
  • 小明玩一个数字游戏,取个n行n列数字矩阵(其中n为不超过100的奇数),数字的填补方法为:在矩阵中心从1开始以逆时针方向绕行,逐圈扩大,直到n行n列填满数字,请输出该n行n列正方形矩阵以及其的对角线数字之和. ...

    题目描述 Description

    小明玩一个数字游戏,取个n行n列数字矩阵(其中n为不超过100的奇数),数字的填补方法为:在矩阵中心从1开始以逆时针方向绕行,逐圈扩大,直到n行n列填满数字,请输出该n行n列正方形矩阵以及其的对角线数字之和.

    样例输入

    3

    样例输出

    5 4 3
    6 1 2
    7 8 9
    25

    代码段:

    #include<stdio.h>
    int main()
    {  
    	int n;
    	scanf("%d", &n);
    	int i=n, j=n, x, k= n*n, sum=0, a[1024][1024]; 
    	for (x=1; n-x > 0; i--,j--,x++)
    	{
    	  for (; j >= x; j--)//先往左,
    	   a[i][j] = k--;
    	  for (j++,i--; i >= x; i--)//再往上,
    	   a[i][j] = k--;
    	  for (i++,j++; j <= n + 1 - x; j++)//再往右,
    	   a[i][j] = k--;
    	  for (j--,i++; i <= n - x; i++)//再往下。 
    	   a[i][j] = k--;
    	}
    	//用来进行输出 
    	for (i = 1; i <= n; i++)
    	{
    	  for (j = 1; j <= n; j++)
    	  	{
    			printf("%d ", a[i][j]);
    		    if (i + j == n + 1 || i == j)
    			    sum += a[i][j];
    		}
    		printf("\n");
    	 }
    	printf("%d", sum);
    	return 0;
    }

    思路理解:

    1.整体思路是先找出最后一个数字的值,然后从最外层往最里层写

     2.定义输入n, 矩阵a ,x和i、j用来控制往矩阵里写数字, sum用来计算对角线数字的和 ,k是最后一个数字的值的大小(比如,三行三列,则矩阵存的最后一个数字为3x3=9. )

     3.循环的时候是从整个矩阵的外边往里边填,先往左,再往上,再往右,再往下。 

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

    2020-03-30 14:35:48
    蛇形矩阵是由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 nums[100][100];
    	int n,i,j,k = -1,z = 0;
    	scanf("%d",&n);
    	getchar();
    	for(i = 0;i < n;i++)
    	{
    		k = -1;
    		for(j = i;j >= 0;j--)
    		{
    			nums[j][++k] = ++z; 
    		}
    	}
    	
    	for(i = 0,j = 0;i <= n;i++,j=0)
    	{
    		while(nums[i][j] != '\0')
    		{
    			printf("%d",nums[i][j]);
    			if(nums[i][j +1] != '\0') printf(" ");
    			++j;
    		}
    		printf("\n");
    	}
    	return 0;
     } 
    
    展开全文
  • C语言 蛇形矩阵

    2021-07-07 14:27:46
    需求如下: #include #include #define N 100 int a[N][N] = {0}; int n = 0; typedef enum _MOVEDIR { move_rt = 1, //右... printf("请输入矩阵大小(则结束:"); scanf("%d",&n); if(n) return 0; int i,j; for(i=0;i
  • 逆时针蛇形矩阵问题

    2019-01-05 12:48:47
    这是一个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; } }
  • C语言输出蛇形矩阵

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

    千次阅读 2019-10-26 20:34:52
    今天大一考试C语言的时候看见了这道题,下面是我转载的一个大佬的博客,自认为分析的很清楚,特来分享一下。 **原文地址: https://blog.csdn.net/jack22333/article/details/78847698 ** 题目如下图所示: 解题...
  • 编写程序,将1到n*n之间的每个整数,从1开始,按照顺序依次填入到n阶蛇形方阵(具体见样例)。 输入 在一行中给出一个正整数N(<100)。 输出 输出N×N的蛇形方阵。每行N个数字,每个数字占5位。 输入...
  • MAX),输出1到n蛇形矩阵。 【例如】 n=10 1 2 6 7 3 5 8 4 9 10 思路 昨天晚上无意看到这题,打算尝试一下。这种题无非就是找规律,和数学题差不多。当时没有工具,勉强在手机上的表格上写了蛇形数组,观察了下思路...
  • /输入N,输出一个NN的蛇形矩阵 例如输入4,输出: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 */ #include <stdio.h> int main(void) { //用户输入的值,创建n*n的矩阵 int n; //蛇形从1开始计数 ...
  • 问题遇到的现象和发生背景 / 问题相关代码,请勿粘贴截图 / 运行结果及报错内容 / 我的解答思路和尝试过的方法 / 我想要达到的结果:17 16 15 14 13 18 5 4 3 12 19 6 1 2 11 20 7 8 9 10 21 22 23 24 25
  • C语言蛇形矩阵

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

    2019-07-01 12:20:50
    int main() ... } //两次循环可以视为矩阵的转置,所以只需将坐标交换即可 } for(i=0; i;i++) { printf("\n"); for(j=0; j;j++) { printf("%4d",a[i][j]); } printf("\n"); } return 0; }
  • printf("输入蛇形数组的维数:"); scanf("%d",&n); for(p = 0; p < n; p++) { for(q = 0; q < n; q++) { if((p + q) < n) { a[p][q] = (p + q) * (p + q + 1) / 2 + 1; if((p + q)...
  • c语言实现蛇形矩阵和回形矩阵

    千次阅读 多人点赞 2020-02-27 12:42:34
    蛇形矩阵 #include<stdio.h> /*输出蛇形矩阵*/ int main() { int n; int num[1000][1000]; int i=0,j=0; int count = 0; scanf("%d",&n); num[i][j]=++count;//为num[0][0]赋值1 while(co...
  • } 运行结果: 蛇形矩阵: 输入样例:5 输出: 通过图片分析,我们可以知道,每一行都是向着斜向上的方向移动,所以这时候我们可以通过循环即可实现向斜向上的方向移动,只需要改变对应的下标即可。 对应的代码: #include...
  • 从键盘任意输入一个自然数n(n表示矩阵的大小,假设不超过100),请编程输出一个nn的蛇形矩阵。如果输入的n不是自然数或者输入了不合法的数字,则输出"Input error!"。 提示 用两个双重循环分别计算nn矩阵...
  • 输出蛇形矩阵,数学规律(C语言

    千次阅读 2018-11-05 23:03:30
    蛇形矩阵,中心对称法 蛇形矩阵中容易发现,中心对称的元素的和是相同的,蛇形矩阵在打印出上三角之后,先通过矩阵的大小n,知道最后一个元素为n*n,可以利用中心对称,每组对称的元素之和都是第一个和最后一个元素...
  • 该程序为小白作者在学习过程中所记录内容,如有雷同,请于作者联系。不喜勿喷。 该程序为参考某位博主的程序(若有侵权请联系删除): #include <stdio.h> int main(int argc,char *argv[]) ... .
  • c语言中的蛇形矩阵代码分享

    千次阅读 2016-08-20 17:29:21
    谁能将下面的代码改成结果为1 3 4 10 2 5 9 11 6 8 12 15 7 13 14 16 的蛇形矩阵? 下面这个是C语言的代码: #include #define N 100 void main() { int n,i,j,k; int a[N][N]; n = 4; for(i=0;i;i++) { ...
  • 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*n开始存入,位置是在(n-1,n-1)开始设置。此时思路过程不再多说。直接献上代码君。 狮小范喜欢玩一个数字游戏,取一个n行n列数字矩阵 (其中n为不超过100的奇数)...
  • C语言蛇形矩阵例题

    2017-02-04 21:17:10
    某同学玩一个数字游戏,取个n行n列数字矩阵,数字的填补方法为:从1开始以顺时针方向绕行,逐圈扩大,直到n行n列填满数字,请输出该n行n列正方形矩阵代码: # include< stdio.h> void main() { int n,i,...
  • 递归法解决回式蛇形矩阵的输出(C语言的实现)

    万次阅读 多人点赞 2017-02-14 14:18:58
    一、今天说的是哪种蛇形矩阵 蛇形矩阵有多种,今天说的是下面这种回形的蛇形矩阵。 如4x4的回形蛇形矩阵 如5x5的回形蛇形矩阵 通过分析发现,这种矩阵,在走一圈以后又变成一个小2个的矩阵,如5x5的矩阵,从1、2...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 593
精华内容 237
关键字:

蛇形矩阵c语言

c语言 订阅