打印图形(1)(C+Java)
生活随笔
收集整理的這篇文章主要介紹了
打印图形(1)(C+Java)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
要求編寫算法輸出下列圖形:
15 28 6 3 10 9 7 4 …………………………………………………………有兩個方法來進行表示,但是原理是一樣的
由上面圖形可知,左下角的數(shù)是圖形中最大的數(shù)且數(shù)值為主對角線(即每行的最右邊的數(shù))之和
方法一:
由求和公式得出Kmax=m(m+1)/2
方法二:
#include<stdio.h> #define N 100 int main(){int m;int n=1;scanf("%d",&m);//打印出一個m*m的矩陣int str[N][N]={0};//創(chuàng)建一個N*N的二維數(shù)組并將初值賦0//該循環(huán)將二維數(shù)組填寫好for(int i=0;i<m;i++){//從最外層開始將二維數(shù)組對角線式填滿for(int j=0;j<m-i;j++){//每內循環(huán)一次,要賦值的最外層單位數(shù)就會減一str[i+j][j]=n++;}}//遍歷二維數(shù)組,將各個數(shù)值打印出來for(int i=0;i<m;i++){for(int j=0;j<=i;j++){printf("%-5d",str[i][j]);//當數(shù)值非0時打印}printf("\n");//從上到下每打印一行的數(shù)據,就換行} }由于最近在苦練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)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实验7-3-1 字符串逆序 (15分)
- 下一篇: 打印图形(2)(直角三角形)(C+Jav