精华内容
下载资源
问答
  • 蛇形矩阵c语言实现
    2021-05-21 03:57:13

    【问题描述】蛇形矩阵是由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

    更多相关内容
  • 2011-02-22 回答题目要求是输入什么? (即安什么便准来定义方阵的边长?)追问:只是要求打印如下方阵追答:#include#include void right(int i,int j,int n); //向右输入void down(int i,int j,int n);...

    2011-02-22 回答

    题目要求是输入什么?  (即安什么便准来定义方阵的边长?)

    追问:

    只是要求打印如下方阵

    追答:

    #include

    #include

    void right(int i,int j,int n);    //向右输入

    void down(int i,int j,int n);    //向下输入

    void left(int i,int j,int n);    //向左输入

    void up(int i,int j,int n);        //向上输入

    void display();                    //输出

    int num[100][100];

    int k=0;//圈数

    int q;//宽度

    void main()

    {

    int n;//宽度

    int i,j;//循环

    /*初始化*/

    for(i=0;i<100;i++)

    {

    for(j=0;j<100;j++)

    {

    num[i][j] = 0;

    }

    }

    printf("输入方阵宽度(1~99)");

    scanf("%d",&n);

    k=n;

    if(n==1)

    {

    printf("1\n");

    exit(1);

    }

    i=0;j=0;

    num[i][j] = 1;

    right(i,j+1,n);

    }

    void right(int i,int j,int n)        //向右输入

    {

    for(q=1;q

    {

    num[i][j] = num[i][j-1]+1;

    q++;

    }

    down(i+1,j-1,n);

    }

    void down(int i,int j,int n)        //向下输入

    {

    for(q=1;q

    {

    num[i][j] = num[i-1][j]+1;

    q++;

    }

    left(i-1,j-1,n);

    }

    void left(int i,int j,int n)        //向左输入

    {

    for(q=1;q

    {

    num[i][j] = num[i][j+1]+1;

    q++;

    }

    up(i-1,j+1,n);

    }

    void up(int i,int j,int n)            //向上输入

    {

    if(n==2)//最内圈宽度为2

    {

    display();//输出

    }

    for(q=1;q

    {

    num[i][j] = num[i+1][j]+1;

    q++;

    }

    num[i+1][j+1] = num[i+1][j]+1;//向内一圈的第一个数赋值

    n=n-2;

    if(n==1)//最内圈宽度为1

    {

    display();//输出

    }

    right(i+1,j+2,n);

    }

    void display()                        //输出

    {

    for(int i=0;i

    {

    for(int j=0;j

    {

    printf("%d ",num[i][j]);

    }

    printf("\n");

    }

    exit(1);

    }

    追问:

    Linking...

    LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16

    Debug/a.exe : fatal error LNK1120: 1 unresolved externals

    Error executing link.exe.

    编译没问题,可是一运行就出现两个错误了

    追答:

    - -|||   你是啥编译器?

    追问:

    VC++6.0

    追答:

    6721e9515d9a8f2923f2a8f4f9c35712.png  能运行 你重启VC试试

    追问:

    还是这两个错误啊,我试过好几台电脑了……是不是新建有问题?

    我选的WIN32 application然后选的C++source file

    追答:

    - -||| 你直接在桌面上键个.cpp的文件 打开就好 不用那么烦的

    追问:

    我对我无语了,怎么也运行不出来,悲剧了,还是采纳吧

    展开全文
  • C语言输出蛇形方阵,编程初学者思维借鉴。
  • C语言实现蛇形矩阵

    千次阅读 2019-10-26 20:34:52
    今天大一考试C语言的时候看见了这道题,下面是我转载的一个大佬的博客,自认为分析的很清楚,特来分享一下。 **原文地址: https://blog.csdn.net/jack22333/article/details/78847698 ** 题目如下图所示: 解题...

    今天大一考试C语言的时候看见了这道题,下面是我转载的一个大佬的博客,自认为分析的很清楚,特来分享一下。

    **原文地址:

    https://blog.csdn.net/jack22333/article/details/78847698

    **
    题目如下图所示:
    在这里插入图片描述

    解题思路分析:

    我们按照图中标出的箭头指向,逐一的赋值整个矩阵。
    在这里插入图片描述

    具体思路:

    1. 初始的时候,行标i=0,列标j=0,data[i][j]=0,此时k = 1(k表示当前矩阵位置到下一位置的运动方向);
    2. 当data移动到下一个位置后,此时需要把k变为它当前位置的移动方向。
      1. k = 1的时候,k的下一个运动方向可能是 2或者4;
        A. data位于矩阵的第一行时,k变为2;
        B. data位于矩阵的最下面一行时,k变为4.
      2. k = 2的时候,k的下一个运动方向可能是 1或者2或者3;
        A. data位于矩阵的第一列时,k变为3;
        B. data位于矩阵的最下面一行时,k变为1;
        C. data位于矩阵其它位置时,k仍为2.
      3. k = 3的时候,k的下一个运动方向可能是 2或者4;
        A. data位于矩阵的第一列时,k变为4;
        B. data位于矩阵的最后一列时,k变为2.
      4. k = 4的时候,k的下一个运动方向可能是1或者3或者4;
        A. data位于矩阵的第一行时,k变为1;
        B. data位于矩阵的最后一列时,k变为3;
        C. data位于矩阵其它位置时,k仍为4.
        此外,有左下顶角和右上顶角的位置需要额外关注。
        主体代码如下:
    #include<bits/stdc++.h>
    
    int main()
    {
    	int n;
    	int i = 0;  //行  
    	int j = 0;  //列  
    	int k = 1;  //运动方向. k =1 表示运动方向为从左往右移动;k=2 表示从右上角往左下角移动; k=3 表示向下移动 ;k=4 表示从左下角网右上角移动  
    	int data [100][100];  
    	data[0][0] = 1;  
    	printf("Input n:\n");
    	scanf("%d",&n);
    	while( i!=n-1 || j !=n-1){  
    		if(k == 1){  
    			data[i][j+1] = data[i][j] + 1;  
    			j = j + 1;  
    			if(i == n-1){  
    				k = 4;  
    			}else{  
    				k = 2;  
    			}  
    		}else if(k == 2){  
    			data[i+1][j-1] = data[i][j] + 1;  
    			j = j - 1;  
    			i = i +1;  
    			if( j == 0 && i != n-1){  
    				k = 3;  
    			}else if( i == n-1){  
    				k = 1;  
    			}else{  
    				k = 2;  
    			}  
    		}else if(k == 3){  
    			data[i+1][j] = data[i][j] + 1;  
    			i = i+1;  
    			if( j ==  n-1){  
    				k = 2;  
    			}else {  
    				k = 4;  
    			}  
    		}else if(k == 4){  
    			data[i-1][j+1] = data[i][j] + 1;  
    			j = j + 1;  
    			i = i - 1;  
     
    			if(i == 0 && j != n-1){  
    				k = 1;  
    			}else if( j == n-1  )  
    			{  
    				k = 3;  
    			}else{  
    				k = 4;  
    			}  
    		}  
    	}   
    	//显示矩阵  
    	for(int a=0;a<n;a++){  
    		for(int b=0;b<n;b++){  
    			printf("%d\t",data[a][b]);  
    		}  
    		printf("\n");  
    	}
    
    	
    	
    }
    

    ————————————————
    版权声明:本文为CSDN博主「香蕉苹果橘子汁」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:[https://blog.csdn.net/jack22333/article/details/78847698](https://blog.csdn.net/jack22333/article/details/78847698)

    展开全文
  • 匿名用户1级2009-06-14 回答#include"stdio.h"#include"stdlib.h"const long MAXSIZE = 100;void main(){long pData[MAXSIZE][MAXSIZE];printf("Please input size:\n");long nSize;scanf("%d", &...

    匿名用户

    1级

    2009-06-14 回答

    #include"stdio.h"

    #include"stdlib.h"

    const long MAXSIZE = 100;

    void main()

    {

    long pData[MAXSIZE][MAXSIZE];

    printf("Please input size:\n");

    long nSize;

    scanf("%d", &nSize);

    long i=0;

    long j=0;

    for (j=0; j

    for (i=0; i

    {

    pData[j][i]=0;

    }

    j=0;

    i=0;

    bool bMoveUp=true;

    for (long n=1; n<=nSize*nSize; n++)

    {

    if (j<0)

    {

    j++;

    bMoveUp = !bMoveUp;

    }

    if (j>=nSize)

    {

    j--;

    i+=2;

    bMoveUp = !bMoveUp;

    }

    if (i<0)

    {

    i++;

    bMoveUp = !bMoveUp;

    }

    if (i>=nSize)

    {

    i--;

    j+=2;

    bMoveUp = !bMoveUp;

    }

    pData[j][i] = n;

    if (bMoveUp)

    {

    j--;

    i++;

    }else

    {

    j++;

    i--;

    }

    }

    for (j=0; j

    {

    for (i=0; i

    {

    printf("%5d",pData[j][i]);

    }

    printf("\n");

    }

    getchar();

    }

    Please input size:

    12

    1 2 6 7 15 16 28 29 45 46 66 67

    3 5 8 14 17 27 30 44 47 65 68 89

    4 9 13 18 26 31 43 48 64 69 88 90

    10 12 19 25 32 42 49 63 70 87 91 108

    11 20 24 33 41 50 62 71 86 92 107 109

    21 23 34 40 51 61 72 85 93 106 110 123

    22 35 39 52 60 73 84 94 105 111 122 124

    36 38 53 59 74 83 95 104 112 121 125 134

    37 54 58 75 82 96 103 113 120 126 133 135

    55 57 76 81 97 102 114 119 127 132 136 141

    56 77 80 98 101 115 118 128 131 137 140 142

    78 79 99 100 116 117 129 130 138 139 143 144

    Press any key to continue

    展开全文
  • 编程题(c语言编程题库100题)

    千次阅读 2021-05-19 20:13:51
    编程实现:15个学生参加了7个模块的测试,编程统计每个模块的前3名成绩,.#include void main() { int a,b,c,n=0,num[1000]; for(a=1;a<=5;a++) for(b=1;b<=5;b++) for(c=1;c<=5;c++) if(a!=b&&a!=...
  • 编程题:输入正整数n(n<MAX),输出1到n蛇形矩阵。 【例如】 n=10 1 2 6 7 3 5 8 4 9 10 思路 昨天晚上无意看到这题,打算尝试一下。这种题无非就是找规律,和数学题差不多。当时没有工具,勉强在手机上的表格上...
  • C语言蛇形填阵

    2020-12-14 20:47:47
    蛇形填阵 将1~nn填入一个nn的矩阵中,并要求成为蛇形蛇形即是从右上角开始向下,向左,向上,向右,循环填入数字。 比如n=5时矩阵为: 13 14 15 16 1 12 23 24 17 2 11 22 25 18 3 10 21 20 19 4 9 8 7 6 5 ...
  • 从键盘任意输入一个自然数n(n表示矩阵的大小,假设不超过100),请编程输出一个nn的蛇形矩阵。如果输入的n不是自然数或者输入了不合法的数字,则输出"Input error!"。 提示 用两个双重循环分别计算nn矩阵...
  • 蛇形方阵 C语言

    千次阅读 2021-10-27 18:32:53
    给出一个不大于 9 的正整数 n,输出 n×n 的蛇形方阵。 从左上角填上 1 开始,顺时针方向依次填入数字,如同样例所示。注意每个数字有都会占用 3 个字符,前面使用空格补齐。 输入 4 输出 1 2 3 4 12 13 14 5 11 16 ...
  • C语言 蛇形矩阵

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

    2020-12-19 11:19:46
    //问题:在n*n方阵里填入1,2,3....n*n,要求填成蛇形 n<=8 (空格不用输出)//二维数组/*1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9*/#include#includeconst int maxn=10;int a[maxn][maxn];int...
  • 寒假也要好好学习啊,今天和TT一起来看看数字之间三角形和蛇形数组的写法吧。 先看看这个简单的,这是一个给定边长的等腰直角数字三角形。像这种还是比较简单的。 分析:两种方法;一种是用数组,还有一种是直接...
  • C语言编程

    2020-12-11 17:15:54
    C语言编程题1.编写程序,从键盘输入x的值(要求为整型),根据如下公式计算,并输出x和y的值;2.编写程序,键盘输入一组整数(最大为18位数), 判断它是不是回文数,如果一个自然数和它的个位数字 反向排列所得自然数相等,则称...
  • 时间限制:3000 ms | 内存限制:65535 KB难度:3描述在n*n方阵里填入1,2,...,n*n,要求填成蛇形。例如n=4时方阵为:10 11 12 19 16 13 28 15 14 37 6 5 4输入直接输入方阵的维数,即n的值。(n<=100)输出输出结果是...
  • 另外如果你想更好的提升你的编程能力,学好C语言C++编程!弯道超车,快人一步! 分享(源码、项目实战视频、项目笔记,基础入门教程) 欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!
  • 例28 直线蛇形阵问题描述编写程序,将自然数1、2、…、N2按蛇形方式逐个顺序存入N阶方阵。例如,当N=3和N=4时的直线蛇形阵如下图1所示。图1 直线蛇形阵输入格式一个正整数n(1≤n≤20)。输出格式N阶满足要求的直线...
  • C语言n阶蛇形矩阵输出

    千次阅读 2020-06-20 13:04:34
    n阶蛇形矩阵 n为奇数时,如: 15762116148532217139423211812102524201911\begin{matrix}15 & 7 & 6 & 2 & 1 \\16 & 14 & 8 & 5 & 3 \\ 22 & 17 & 13 & 9 & 4 \\ ...
  • C语言每日小练(二)——蛇形数组例:在n*n方阵里输入1,2,3,...,n*n,要求填成蛇形。例如n=4时方阵为:10 11 12 19 16 13 28 15 14 37 6 5 4上面的方阵中,多余的空格知识为了便于观察矩阵,不必严格输出,n<=8。解...
  • c语言竞赛题目精选

    2021-05-24 01:42:58
    1、*1、过滤出 1-10000 之间所有相邻两位数相同的,比如 12336 等过滤掉, 剩下的数据输出并计算个数。 2、一辆卡车违反交通规则,撞人后逃跑。...请根据以上线索编程求出车号。 3、一辆汽车加满油后...
  • C语言:上机编程题集

    千次阅读 多人点赞 2019-04-03 19:23:44
    甲、乙乒乓球队比赛,编程找出3对赛手的名单 输入一行字符,统计其中有多少个单词,并将每个单词首字母大写(考虑空格,考虑单词的缩写) 输出n以内的素数 杨辉三角 输入一个十六进制数,输出相应的十进制数 给...
  • 76道比较难的C语言题目【1】给定等式 A B C D E 其中每个字母代表一个数字,且不同数字对应不 D F G 同字母。编程求出这些数字并且打出这个数字的 + D F G 算术计算竖式。──────...
  • } 运行结果: 蛇形矩阵: 输入样例:5 输出: 通过图片分析,我们可以知道,每一行都是向着斜向上的方向移动,所以这时候我们可以通过循环即可实现向斜向上的方向移动,只需要改变对应的下标即可。 对应的代码: #include...
  • 题目是要输出一个蛇形上三角矩阵 有多组输入样例 输入: 5 输出 1 3 6 10 15 2 5 9 14 4 8 13 7 12 11 题解 设矩阵第一个元素是从第0行第0列开始的; ...
  • C/C++实现蛇形矩阵(超详解)【沈七】

    千次阅读 多人点赞 2022-01-05 12:14:03
    C/C++实现蛇形矩阵(超详解)
  • 蛇形矩阵C-study-codeErin最近学习了数组,她想通过数组实现一个蛇形方阵的打印,你可以帮她实现这个程序吗?input:整数n(2output:n*n的方阵,从方阵右上角开始以顺时针方向进行数数如下所示input:3output:7 8 16 ...
  • 蛇形

    2021-05-23 01:47:17
    题目描述 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。例如,当输入5时,应该输出的三角形为:1 3 6 10 152 5 9 144 8 137 1211请注意本题含有多组样例输入。输入描述:输入正整数N(N不大于100)输出描述...
  • #include main(){int i,j,k;int n;scanf("%d",&n);//正三角52614102for(i=0;i{for(j=0;jprintf(" ");for(k=0;k<=i;k++)printf(" *");printf("\n");}//倒三角for(i=0;i{for(j=0;j<...kpr...
  • C++输出蛇形三角矩阵

    2020-11-28 10:54:48
    30),输出1到n的蛇形矩阵。 例如: n=8时 n=10时 算法思想: 观察输出结果,在行或者列坐标为0时发生了转向,转向后坐标行减1,列加1或者行加1,列减1,所以用flag控制转向,转向之后移动坐标,并置入对应数字。 ...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 267
精华内容 106
关键字:

c语言编程蛇形