当前位置:网站首页>PAT1027 打印沙漏
PAT1027 打印沙漏
2022-08-09 14:53:00 【黄小鸭233】
#include <stdio.h>
#include <string.h>
int shalou(size_t size, char s)
{
int top = 0;
if(size == 0)
return 0;
for(int i = 3; i <= 10000; i += 2)
{
top += i;
if(top*2+1 > size)
{
top -= i;
size = top == 1 ? 1 : top * 2 + 1;
break;
}
}
char arr[1000][1000];
int cnt = 0, index = 0;
for(int i = 1; cnt < top + 1; i+=2)
{
cnt+=i;
for(int j = 0; j < i; j++)
arr[index][j] = s;
index++;
}
for(int i = index - 1; i >= 0; i --)
{
for(int j = 0; j < (strlen(arr[index - 1])-strlen(arr[i]))/2; j++)
printf(" ");
printf("%s\n", arr[i]);
}
for(int i = 1; i < index; i++)
{
for(int j = 0; j < (strlen(arr[index - 1])-strlen(arr[i]))/2; j++)
printf(" ");
printf("%s\n", arr[i]);
}
return size;
}
int main()
{
int n;
char c;
scanf("%d %c", &n, &c);
int la = n - shalou(n, c);
printf("%d\n", la);
return 0;
}

边栏推荐
猜你喜欢
随机推荐
Shell编程之循环语句
内存泄露检测工具VLD(Visual Leak Detector)使用说明
数据库多表链接查询的方式
英语议论文读写02 Engineering
CV复习:过拟合、欠拟合
注解与反射
docker安装seata(指定配置文件、数据库、容器数据卷等)
浅析Servlet三大容器的常用方法及其作用域
navicat for Oraclel链接oracle 报错oracle library is not loaded的解决办法
For programming trading, focusing on forecast or on countermeasures?
用户如何正确去认识程序化交易?
常见编译问题
软件工程基础知识--软件过程模型
数组学习笔记
股票程序化交易如何理解自己的交易系统?
量子力学初步
pytorch从零搭建神经网络实现多分类(训练自己的数据集)
大咖说·对话生态|当Confluent遇见云:实时流动的数据更有价值
原子的核型结构及氢原子的波尔理论
Grad CAM model visualization









