PAT乙级1027
来源:互联网 发布:linux查ip地址命令 编辑:程序博客网 时间:2024/06/03 06:50
1027. 打印沙漏(20)
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印
***** *** * ********
所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。
给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。
输入格式:
输入在一行给出1个正整数N(<=1000)和一个符号,中间以空格分隔。
输出格式:
首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。
输入样例:
19 *输出样例:
***** *** * ********2
#include<iostream>#include<math.h>using namespace std;int main(){int num;char ch;cin >> num >> ch;int surplus = sqrt((num + 1) / 2);for (int i = 0; i < surplus; i++){for (int j = 0; j < i; j++)cout << " ";for (int j = 0; j < 2 * (surplus - i) - 1; j++)cout << ch;cout << endl;}for (int i = 0; i < surplus - 1; i++){for (int j = 0; j < surplus - i - 2; j++)cout << " ";for (int j = 0; j < 2 * (i + 1) + 1; j++)cout << ch;cout << endl;}surplus = num - pow(surplus, 2) * 2 + 1;cout << surplus << endl;system("pause");return 0;}
事实证明我想复杂了。。。一开始弄了对称的空格输出,结果显示格式错误。。。
其实输出字符之后直接换行就可以了
关于字符的累加公式为2n^2-1,n为总行数
阅读全文
0 0
- PAT乙级1027
- pat乙级1027
- PAT 乙级 1027
- PAT乙级1027
- PAT乙级1027 打印沙漏
- PAT乙级1027 打印沙漏
- PAT乙级(Basic Level)1027(C++)
- PAT乙级1027:打印沙漏(C++)
- PAT考试乙级1027(C语言实现)
- PAT乙级 1004. 成绩排名
- PAT乙级 月饼 (25)
- PAT乙级 人口普查(20)
- PAT 乙级 1020.月饼
- PAT乙级1001
- PAT乙级1002
- PAT 乙级 1028.人口普查
- PAT乙级1003
- pat乙级总结
- jQ 查看当前的jQ版本
- 阿里云短信接入及注意事项
- 一些布局文件
- 解决maven3.5.0项目报错“JavaServer Faces 2.2 can not be installed : One or more constraints”问题
- java高级
- PAT乙级1027
- Elasticsearch学习系列之term和match查询
- mysql和oracle中进行工资查询后修改
- opencv3.0学习笔记一:boxFilter(...)
- 云计算基础了解
- 【Cumputer】《第一次机房收费系统》总结八 其他
- SpringBoot学习-(十六)SpringBoot发布到独立的tomcat中运行
- react-native 解决 Can't find variable: __fbBatchedBridge
- NPN 、PNP 三极管开关形式的典型接法(注意上下拉电阻)