`
Touch_2011
  • 浏览: 287206 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

打印螺旋上三角(C语言实现)

阅读更多

 

 

#include<stdio.h>

void print(int n);

void main()
{
	int n;
	printf("please input n(n<=20):\n");
	scanf("%d",&n);
	print(n);
}
void print(int n)
{
	int i=0;//x坐标
	int j=0;//y坐标
	int count=1;//打印的数从1开始
	int m=0;//控制方向,等于0是横向,等于1是对角线,等于2是纵向
	int step=1;//x,y坐标的步长
	int helix[20][20]={0};//要打印的螺旋矩阵
	int max;//计算要打印的数中最大的数
	if(n%2==0){
		max=n*n/2+n/2;
	}else
		max=n*n/2+n/2+1;

	while(count<=max){
		helix[i][j]=count++;
		if(m==0){//先往右横走
			j+=step;
			if(j>=n||helix[i][j]!=0){//碰边,换方向
				m=1;
				j-=step;
				j-=step;
				i+=step;
			}
		}else if(m==1){//走对角线
		    j-=step;
			i+=step;
			if(j<0||helix[i][j]!=0){
				m=2;
				i-=step;
				j+=step;
                i-=step;
			}			
		}else{//向上纵向走
			i-=step;
			if(helix[i][j]!=0){//碰边,换方向
				m=0;
				i+=step;
				j+=step;
			}
		}
	}

	///显示上三角
	for(i=0;i<n;i++){
		for(j=0;j<n;j++)
			if(helix[i][j]!=0)
	     		printf("%-4d",helix[i][j]);
		printf("\n");
	}
}

 

 

 当时考试的时候看到这题,感觉好熟悉,因为之前做过螺旋矩阵的题目,但是一时忘了思路。

后来做了两遍,还好做出来了。。。可能是今天状态不太好吧。。。

 

 

 另参考:打印螺旋矩阵:

http://touch-2011.iteye.com/blog/1038881

 

 

原题:

  • 大小: 24 KB
  • 大小: 126.8 KB
0
3
分享到:
评论

相关推荐

    c语言螺旋矩阵大作业报告.docx

    用C语言完成螺旋矩阵,输入n,得到n行n列的四种螺旋矩阵 1. 给定N的值,从矩阵的左上角输出顺时针...5.给定N的值,从矩阵的左上角顺时针输出上三角螺旋矩阵 例如N=4时,输出: 1 2 3 4 9 10 5 8 6 7 6.退出系统

    C语言算法 螺旋矩阵

    打印输出螺旋矩阵,要求螺旋矩阵的阶数由用户输入

    经典数据结构算法c语言实现代码(大全)

    螺旋数组2.txt 试题.txt 诺汉塔画图版.txt 读写文本文件.txt 货郎担分枝限界图形演示.txt 货郎担限界算法.txt 质因子.txt 输出自已.txt 迷宫.txt 迷宫问题.txt 逆波兰计算器.txt 逆矩阵.txt 逆阵.txt ...

    史上最全经典数据结构算法c语言实现代码合集

    螺旋数组2.txt 试题.txt 诺汉塔画图版.txt 读写文本文件.txt 货郎担分枝限界图形演示.txt 货郎担限界算法.txt 质因子.txt 输出自已.txt 迷宫.txt 迷宫问题.txt 逆波兰计算器.txt 逆矩阵.txt 逆阵.txt ...

    数据结构及算法C语言实现代码集[推荐下载]

    c语言窗体实例.zip 傻瓜递归.c 冒泡法改进.c 小字库DIY-.c 小字库DIY.c 小白鼠钻迷宫.c 扫描码.C 挽救软盘.c 汉字字模.c 神经元模型.c 穷举搜索法.c 简单数据库.c 编程汉字问题.txt 编随机数.c 试题.C 递堆法.C ./...

    C语言大作业(三个操作题)

    本次C语言实验主要包括三个实验,分别是:一、摄氏温度C与华氏温度F转换并打印对照表;二、输出螺旋矩阵n*n(2≤n≤9);三、用二维数组实现三角函数在以°为单位的区间[0,ang)图像。

    c语言实例解析--图形篇

    第四部分 图形篇 120 绘制直线 121 绘制圆 122 绘制圆弧 123 绘制椭圆 124 设置背景色和前景色 125 设置线条类型 126 设置填充类型和填充颜色 ...152 利用图形页实现动画 153 图形时钟 154 音乐动画

    C语言实例解析精粹(第二版) 光盘代码

    C语言实例解析精粹(第二版) 光盘代码 本文件包括以下内容: ※ 1、文件说明 ※ 2、源码操作说明 ※ 3、光盘目录清单 ◎ 源码操作说明 源代码使用方法是(以实例1为例): 将该实例的源码,比如实例1的1.c文件(可以...

    C语言程序源代码(大集合).rar

    C语言程序源代码(大集合).rar 实际只有139个,其余部分丢失! 第一部分 基础篇 001 第一个C程序 002 运行多个源文件 003 求整数之积 004 比较实数大小 005 字符的输出 006 显示变量所占字节数 007 自增/自...

    C语言源代码实例.rar

    181 求解三角方程 182 新完全平方数 183 三重回文数 184 奇数方差 185 统计选票 186 同时整除 187 字符左右排序 188 符号算式求解 189 数字移位 190 统计最高成绩 191 比较字符串长度 192 合并整数 193 ...

    C语言实例解析精粹

    181 求解三角方程 182 新完全平方数 183 三重回文数 184 奇数方差 185 统计选票 186 同时整除 187 字符左右排序 188 符号算式求解 189 数字移位 190 统计最高成绩 191 比较字符串长度 192 合并整数 193 ...

    C语言通用范例开发金典.part2.rar

    1.1.4 显示杨辉三角 7 范例1-4 显示杨辉三角 7 ∷相关函数:c函数 8 1.1.5 魔方阵 9 范例1-5 魔方阵 9 1.1.6 三维数组的表示 14 范例1-6 三维数组的表示 14 ∷相关函数:InitArray函数 1.1.7 多项式的数组...

    C语言相关练习题 数组指针链表

    日期相关,猜数游戏,锯齿数组,打字游戏,杨辉三角,金字塔杨辉三角,螺旋数组,魔方数组,双向链表,求定积分通用公式,函数指针,狐狸抓兔子

    C语言经典源代码实例 数据结构 操作系统 图形等

    181 求解三角方程 182 新完全平方数 183 三重回文数 184 奇数方差 185 统计选票 186 同时整除 187 字符左右排序 188 符号算式求解 189 数字移位 190 统计最高成绩 191 比较字符串长度 192 合并整数 193 ...

    C语言常用算法

    181 求解三角方程 182 新完全平方数 183 三重回文数 184 奇数方差 185 统计选票 186 同时整除 187 字符左右排序 188 符号算式求解 189 数字移位 190 统计最高成绩 191 比较字符串长度 192 合并整数 193 ...

    220个C语言程序源代码.zip

    013 用二维数组实现矩阵转置 014 求解二维数组的最大/最小元素 015 利用数组求前n个质数 016 编制万年历 017 对数组元素排序 018 任意进制数的转换 019 判断回文数 020 求数组前n元素之和 021 求解钢材切割...

    C语言精粹(第2版)随书关盘

    181 求解三角方程 182 新完全平方数 183 三重回文数 184 奇数方差 185 统计选票 186 同时整除 187 字符左右排序 188 符号算式求解 189 数字移位 190 统计最高成绩 191 比较字符串长度 192 合并整数 193 ...

    220个C源代码 初学C语言必备

    181 求解三角方程 182 新完全平方数 183 三重回文数 184 奇数方差 185 统计选票 186 同时整除 187 字符左右排序 188 符号算式求解 189 数字移位 190 统计最高成绩 191 比较字符串长度 192 合并整数 193 ...

Global site tag (gtag.js) - Google Analytics