#include <string>
#include <stdio.h>
#include <iostream>
using namespace std;
int main(){
int n;
char c;
cin >> n >> c;
int l;
for(int i=0;i<=n+1;i++){
if((i*i*2-1)>n){
l=i-1;
break;
}
}
for (int i=l;i>0;i--){
for(int j=i;j<l;j++){
printf(" ");
}
for(int j=0;j<2*i-1;j++){
printf("%c",c) ;
}
printf("\n");
}
for (int i=1;i<l;i++){
for(int j=l-i;j>1;j--){
printf(" ");
}
for(int j=2*i+1;j>=1;j--){
printf("%c",c);
}
printf("\n");
}
cout << n-(l*l*2-1);
return 0;
}
B1027 打印沙漏 (20分)
最新推荐文章于 2024-01-06 22:45:20 发布
本文展示了一个使用C++实现的图形打印算法,通过输入数值和字符,可以在控制台输出特定形状的图形。该算法首先计算图形的最大长度,然后分别打印图形的上半部分和下半部分,最后输出剩余的空白行数。
225

被折叠的 条评论
为什么被折叠?



