打印图形(1)(C+Java)
要求编写算法输出下列图形:
15 28 6 3
10 9 7 4
…………………………………………………………
有两个方法来进行表示,但是原理是一样的
由上面图形可知,左下角的数是图形中最大的数且数值为主对角线(即每行的最右边的数)之和
方法一:
由求和公式得出Kmax=m(m+1)/2
#include<stdio.h>
#define N 100
int main(){int m;int cnt=0;scanf("%d",&m);//打印出一个m*m的矩阵int str[N][N]={0};//创建一个N*N的二维数组并将初值赋0//该循环将二维数组填写好for(int i=0,j=0,k=1;k<=m*(m+1)/2;k++){str[i++][j++]=k;//把二维数组最外层的1~m填满if(i>=m){//排完最外层以后列数归零,开始计算第二层~第m层i=++cnt;j=0;}}//遍历二维数组,将各个数值打印出来for(int i=0;i<m;i++){for(int j=0;j<m;j++){if(str[i][j]){//当数值非0时打印printf("%-5d ",str[i][j]);//我定义的是左对齐,如果题目中有规定请修改此信息}else{//当数值为0时换行printf("\n");break;}}}
}
方法二:
#include<stdio.h>
#define N 100
int main(){int m;int n=1;scanf("%d",&m);//打印出一个m*m的矩阵int str[N][N]={0};//创建一个N*N的二维数组并将初值赋0//该循环将二维数组填写好for(int i=0;i<m;i++){//从最外层开始将二维数组对角线式填满for(int j=0;j<m-i;j++){//每内循环一次,要赋值的最外层单位数就会减一str[i+j][j]=n++;}}//遍历二维数组,将各个数值打印出来for(int i=0;i<m;i++){for(int j=0;j<=i;j++){printf("%-5d",str[i][j]);//当数值非0时打印}printf("\n");//从上到下每打印一行的数据,就换行}
}
由于最近在苦练Java,就再用Java敲一遍(卑微)
注释请参见上面C的代码,算法是一样的
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class Main {public static void main(String[] args) throws IOException {// TODO Auto-generated method stubBufferedReader bf = new BufferedReader(new InputStreamReader(System.in));int m = Integer.parseInt(bf.readLine());int n = 1;int[][] str = new int[100][100];for (int i = 0; i < m; i++) {for (int j = 0; j < m - i; j++) {str[i + j][j] = n++;}}for (int i = 0; i < m; i++) {for (int j = 0; j <= i; j++) {System.out.printf("%-5d", str[i][j]);}System.out.println();}}}
打印图形(1)(C+Java)相关推荐
- java打印 好看的图形_分享java打印简单图形的实现代码
我们平时都是使用的画图工具进行简单图形的绘制,今天我们使用java打印一些简单的图形 实现代码如下 package test; /** * * @author hanzel * @打印图形 * */ ...
- java编程输出平行四边形_JAVA语言入门教程之打印图形实例——打印平行四边形...
本文主要向大家介绍了JAVA语言入门教程之打印图形实例--打印平行四边形,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 输出平行四边形: public class Parallelo ...
- Java 实例-打印图形
Java 实例 – 打印菱形 输出指定行数的菱形. package com.example.yan.java打印图形;public class Main {public static void mai ...
- java语言打印图形_JAVA语言入门教程之打印图形实例——打印矩形
本文主要向大家介绍了JAVA语言入门教程之打印图形实例--打印矩形,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 输出矩形: public class Rect { public s ...
- java 使用*打印图形(菱形、平行四边形、三角形)
打印图形 画图题的解决方法:首先是要确定要画图形的各个参数如图形的边数.打印的字符:然后确定每一行要输出的字符数和空格数(字符和空格数的初始值):从输出的字符数和空格数推测出是递增还是递减:最后是判断 ...
- 使用嵌套循环打印图形
循环嵌套 循环里面可以嵌套循环,今天我们就用双层for循环打印图形和做出杨辉三角.打印图形时,把图形看做行,列.外层循环来控制行,内层控制列.如果是有星星还有空格的类型.模板就是 外层 for(int ...
- 经典算法_01 打印六芒星、打印图形练习
距离蓝桥杯倒计时十天,猿猿的蓝桥杯突击之旅.突击一: 题目 打印图形 时间限制: 1.0s 内存限制: 512.0MB [问题描述] 小明刚学习完条件语句和循环语句,并且也打印了许多图形,比如菱形或者 ...
- C++扬帆远航——3(打印图形)
/** Copyright (c) 2016,烟台大学计算机与控制工程学院* All rights reserved.* 文件名:tuxing.cpp* 作者:常轩* 完成日期:2016年3月15日* ...
- 2018年第九届省赛C/C++A组第5题——打印图形
标题:打印图形 如下的程序会在控制台绘制分形图(就是整体与局部自相似的图形). 当n=1,2,3的时候,输出如下: 请仔细分析程序,并填写划线部分缺少的代码. #include <stdio.h ...
- java占位符打印_什么是 Java 构造器?
构造器是编程的强大组件.使用它们来释放 Java 的全部潜力. -- Seth Kenlon(作者) 在开源.跨平台编程领域,Java 无疑(?)是无可争议的重量级语言.尽管有许多 伟大的跨平台 框架 ...
最新文章
- 收藏 | 使用Mask-RCNN在实例分割应用中克服过拟合
- R可视化雷达图(Radar Charts)
- python numpy.ones(shape, dtype=None, order=’C’) empty(shape[, dtype, order]) empty_like(a) 空数组 全1数组
- python和stata_从Python运行Stata do文件
- 优雅 | koa处理异常
- 预训练新范式!为什么Prompt会更有效?
- Unicode、UTF-8、UTF-16之间的关系
- 如何选择适合的微信号码开通状态检测工具
- 调用webservice服务方式总结
- 计算机管理格式化硬盘,如何将电脑硬盘格式化?笔记本硬盘格式化的操作方法...
- Fabric.js IText 手动设置斜体
- 线性代数 --- Gauss消元的部分主元法和完全主元法(补充)
- 2021-2027全球与中国豪华隐形眼镜市场现状及未来发展趋势
- 基于微信小程序的五子棋小程序(含简单人机)
- nas文件服务器访问限制,nas文件服务器远程访问
- 【笔记】MOS导通条件
- 蓝鹊生物国内首款新冠mRNA嵌合体疫苗获批临床
- Python根据身份证号计算年龄和退休时间并保存Excel文件
- stm31.js使用详解
- CPUID、SGX中使用CPUID
热门文章
- 如何查找历史线程阻塞原因_学习 Web Worker(js中的“多线程”)
- android浮于上方布局,android-在FrameLayout中使RecyclerView上方的视图...
- 关于解决vue.js中组件的template内容不能换行的问题
- 一些用过的优秀软件摘录
- Android开发之WebView加载自定义scheme报错net::ERR_UNKNOWN_URL_SCHEME(附带源码标题下面可点击下载)
- html元素data属性设置变量,HTML5 自定义属性 data-* 和 jQuery.data 详解
- java+mock+例子_java – 如何使用PowerMock和Mockito模拟枚举类的实例?
- PYTHON1.day21
- 科普向--详解JavaScript中的数据类型
- TODO:Laravel增加验证码