用菱形图案打印数字的程序
根据给定的示例编写一个程序,其中每一列代表相同的数字:
例子 :
Input : 5
Output :
1
212
32123
212
1
Input : 7
Output :
1
212
32123
4321234
32123
212
1
C++
// C++ program to print diamond pattern
#include
using namespace std;
void display(int n)
{
// sp stands for space
// st stands for number
int sp = n / 2, st = 1;
// Outer for loop for number of lines
for (int i = 1; i <= n; i++)
{
// Inner for loop for printing space
for (int j = 1; j <= sp; j++)
cout << " ";
// Inner for loop for printing number
int count = st / 2 + 1;
for (int k = 1; k <= st; k++)
{
cout << count;
if (k <= st / 2)
count--;
else
count++;
}
// To goto next line
cout << endl;
if (i <= n / 2)
{
// sp decreased by 1
// st increased by 2
sp = sp - 1;
st = st + 2;
}
else
{
// sp increased by 1
// st decreased by 2
sp = sp + 1;
st = st - 2;
}
}
}
// Driver code
int main()
{
int n = 7;
display(n);
}
// This code is contributed by Smitha
Java
// Java program to print diamond pattern
import java.util.Scanner;
class Pattern {
void display(int n)
{
// sp stands for space
// st stands for number
int sp = n / 2, st = 1;
// Outer for loop for number of lines
for (int i = 1; i <= n; i++) {
// Inner for loop for printing space
for (int j = 1; j <= sp; j++)
System.out.print(" ");
// Inner for loop for printing number
int count = st / 2 + 1;
for (int k = 1; k <= st; k++) {
System.out.print(count);
if (k <= st / 2)
count--;
else
count++;
}
// To goto next line
System.out.println();
if (i <= n / 2) {
// sp decreased by 1
// st increased by 2
sp = sp - 1;
st = st + 2;
}
else {
// sp increased by 1
// st decreased by 2
sp = sp + 1;
st = st - 2;
}
}
}
// Driver code
public static void main(String[] args)
{
Pattern p = new Pattern();
int n = 7;
p.display(n);
}
}
Python3
# Python3 program to print diamond pattern
def display(n):
# sp stands for space
# st stands for number
sp = n // 2
st = 1
# Outer for loop for number of lines
for i in range(1, n + 1):
# Inner for loop for printing space
for j in range(1, sp + 1):
print (" ", end = ' ')
# Inner for loop for printing number
count = st // 2 + 1
for k in range(1, st + 1):
print (count, end = ' ')
if (k <= (st // 2)):
count -= 1
else:
count += 1
# To go to next line
print()
if (i <= n // 2):
# sp decreased by 1
# st decreased by 2
sp -= 1
st += 2
else:
# sp increased by 1
# st decreased by 2
sp += 1
st -= 2
# Driver code
n = 7
display(n)
# This code is contributed by DrRoot_
C#
// C# program to print diamond pattern
using System;
class Pattern {
void display(int n)
{
// sp stands for space
// st stands for number
int sp = n / 2, st = 1;
// Outer for loop for number of lines
for (int i = 1; i <= n; i++) {
// Inner for loop for printing space
for (int j = 1; j <= sp; j++)
Console.Write(" ");
// Inner for loop for printing number
int count = st / 2 + 1;
for (int k = 1; k <= st; k++) {
Console.Write(count);
if (k <= st / 2)
count--;
else
count++;
}
// To goto next line
Console.WriteLine();
if (i <= n / 2) {
// sp decreased by 1
// st increased by 2
sp = sp - 1;
st = st + 2;
}
else {
// sp increased by 1
// st decreased by 2
sp = sp + 1;
st = st - 2;
}
}
}
// Driver code
public static void Main()
{
Pattern p = new Pattern();
int n = 7;
p.display(n);
}
}
//This code is contributed by vt_m
PHP
Javascript
输出 :
1
212
32123
4321234
32123
212
1