首页 > 其他分享 >打 印 菱 形

打 印 菱 形

时间:2024-12-22 23:29:36浏览次数:9  
标签: 输出 符号 int 打印 给定 菱形

本题要求你写个程序打印成菱形的形状。例如给定17个符号,要求按下列格式打印

  *
 ***
*****
 ***
  *

所谓“菱形形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数从1开始先从小到大顺序递增,再从大到小递减到1;首尾符号数相等。

给定任意N个符号,不一定能正好组成一个菱形。要求打印出的菱形能用掉尽可能多的符号。

输入格式:

输入在一行给出1个正整数N(≤107)。

输出格式:

首先打印出由给定符号组成的最大的菱形形状,最后在一行中输出剩下没用掉的符号数。

输入样例:

14

输出样例:

  *
 ***
*****
 ***
  *
1

代码长度限制

16 KB

时间限制

800 ms

内存限制

64 MB

栈限制

8192 KB

我的思路:

其实这种题全是找规律,慢慢找,最好找张纸写一写,上代码:

我的代码:

#include<iostream>
using namespace std;
int main(){
    int i = 0;
    int n;
    cin>>n;
    int sum = 1;
    int cnt = -2;
    while(sum + 2*i <= n){
        sum+= 2*i; 
        cnt+=2;
        i+=2;
    }
    cnt /= 2;
    for(int i = -cnt;i <= cnt;i++){
        for(int j = 0;j < abs(i);j++){
            printf(" ");
        }
        for(int j = 0;j < 2*(cnt - abs(i))+1;j++){
            printf("*");
        }
        putchar('\n');
    }
        printf("%d",n - sum);
    return 0;
}
/*
  *
 ***
*****
 ***
  *
1
*/

到这里就结束啦!!!

欢迎小伙伴们评论区讨论,提问。

我是荒古前,期待你的关注~~~

~~~完结撒花✌y( •̀ ω •́ )y✌~~~

标签:,输出,符号,int,打印,给定,菱形
From: https://blog.csdn.net/x3477144355/article/details/144622220

相关文章