打印空心正方形

题目描述

输入描述

输入一个整数n,1<=n<=100

输出描述

输出一个有字符‘*‘构成的空心正方形(只有边界上有‘*‘)

样例输入

5

样例输出

*****
*   *
*   *
*   *
*****
 1 #include <iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int n;
 6     cin>>n;
 7     for(int i=0;i<n;i++)
 8     {
 9         if(i==0||i==n-1){
10             for(int j=0;j<n;j++)
11             {
12                 cout<<"*";
13             }
14             cout<<endl;
15         }else{
16             cout<<"*";
17             for(int j=0;j<n-2;j++)
18             {
19                 cout<<" ";
20             }
21             cout<<"*";
22             cout<<endl;
23         }
24
25     }
26 }

原文地址:https://www.cnblogs.com/palx/p/10512383.html

时间: 2024-10-18 15:54:09

打印空心正方形的相关文章

python学习,打印等腰直角三角形 实心正方形空心正方形

在学习python的过程中,自己做了一个小练习 #!/usr/bin/python # -*- coding: utf-8 -*- name = input("请输入数字: ") count = int(name) count2 = int(name) #空心正方形 while (count > 0): for i in range(count2): if count == count2: print '*', elif count == 1: print '*', elif i

java字符串,包,数组及空心正方形,菱形的实例

一.数组:相同类型的多个对像引用类型:所有的类,接口,数组,int[] ints(变量名) = new int[3]new:指的是在内存空间重新开辟一块区域 String s1 = "abc"; String s2 = "abc"; System.out.println(s1==s2); String s3 = new String("abc"); String s4 = new String("abc"); System.o

打印空心字符菱形

题目内容: 根据菱型起始字母和菱形的高度,打印空心的由字符组成的菱形. 输入格式: 菱型起始字母和菱形的高度. 输出格式: 参照样例,打印空心的由字符组成的菱形. 输入样例: C 4 输出样例: C D D E E F F E E D D C 程序代码:* 1 #include<stdio.h> 2 int main() 3 { 4 char a; 5 int i,j,h; 6 scanf("%c ",&a); 7 scanf("%d",&

c语言打印空心菱形

***算法:把菱形的中心看成坐标的原点(0,0),由此可以知道,如果|x| + |y| <= n;则打印输出"*"号,否则打印输出" " int mai(){ int n; printf("请输入来那个菱形边长:"); scanf("%d",&n); //打印实心菱形 for (int x = -(n-1); x <= n-1; x++){ for (int y = -(n-1); y <= n-1;

(四)、利用命令行参数输入一个整数,打印空心菱形

1 /*利用命令行参数输入一个整数,并判断该数字是否为奇数,如果是奇数,则用其作行数打印空心菱形 2 –PS:将字符串转换为数字的方法 3 •int num=Integer.parseInt(String number);*/ 4 5 package com.gen; 6 public class ArgumentKongLing { 7 public static void main(String args[]) 8 { 9 for (int m= 0; m < args.length;m++

for循环打印空心菱形的新方法

相信大家在学习流程控制的循环结构时,一定都用for循环绘制过菱形和空心菱形吧,我记得我当时写的很麻烦,把一个菱形分为上下两部分,上面2重for循环,下面2重for循环,相信有很多的小伙伴都是这样做的吧,但是这样也造成了很多的代码冗余,今天无意间看到另外一种简便的方法,具体思路和实现过程如下图所示: 思路:   1.先画一个正方形,边长为奇数. 2.定义每一行的初始位置和结束位置,初始值为:边长/2+1. 3. 在每一行的输出位置和结束位置打印*,即为最中间的一条竖线. 4.改变初始位置和结束位置

C++ 画星号图形——空心正方形(核心代码)

//输出m行m列的空心正方矩形. int m;//m用来控制行列数. cout<<"请输入要打印的行列数n(n>=4):\n"; cin>>m; for(int i=0;i<m;i++)//控制打印的行数 { for(int j=0;j<m;j++) { if(i==0||i==m-1) { cout<<"* ";//星号后有一个空格 } else if(j==0||j==m-1) { cout<<&

C语言---打印空心菱形

首先找出上尖三角形的空格和*之间的规律,利用for循环的嵌套来输出上尖三角形,if是用来判断是否输出到最后一个*号,如果是就换行. int n = 4; for(int i = 1 ; i <= n ; i++){ for(int j = n - i ; j > 0 ; j-- ){ // n - 1 为每一行需要输出的空格数量 printf(" "); } for(int x = 1 ; x <= 1+(2*(i-1)) ; x++) //1+(2*(i-1)) 为

打印空心菱形

// 空心棱形function Rect(){ var rows=10; var cols=20; for(var i=0;i<cols;i++){ for(var j=0;j<(cols-i);j++){ document.write(" "); } for(var k=0;k<(2*i-1);k++){ if(k>0 && k<2*i-2){ document.write(" ") } else{ document.