牛客网_PAT乙级_1017打印沙漏(20)
题目描述
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*
”,要求按下列格式打印
*****************
所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。
给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。
输入描述:
输入在一行给出1个正整数N(<=1000)
和一个符号
,中间以空格分隔。
输出描述:
首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。
输入例子:
200 *
输出例子:
************************************************************************************************************************************************************************************
*******************
1
#include<iostream>
using namespace std;
int main()
{//第n个沙漏,最长一行需要2*n-1个*,总共需要2*n^2-1个*int n, num, total, rowmax;char symbol;cin >> num >> symbol;for (n = 0; 2 * n*n - 1 <= num; n++);total = 2 * (n - 1)*(n - 1) - 1;//the * we needrowmax = 2 * (n - 1) - 1;//the * in first row//打印前n行int i, j, k;for (i = 1; i < n; i++)//控制行{for (j = i - 1; j > 0; j--)//控制space{cout << " ";}for (k = 0; k < rowmax; k++)//控制symbol{cout << symbol;}rowmax -= 2;cout << endl;}//打印后n-1行for (i = 1; i < n - 1; i++){for (j = n - i - 2; j > 0; j--)//控制space{cout << " ";}for (k = 0; k < 2 * i + 1; k++)//控制symbol{cout << symbol;}cout << endl;}cout << num - total << endl;system("pause");return 0;
}
牛客网_PAT乙级_1017打印沙漏(20)相关推荐
- 牛客网_PAT乙级_1019. 数字黑洞 (20)
总结 注意!! 想要在函数中结束程序,一定不要用system("pause");,因为这样只是让程序暂停,结果就是运行时间超时,无法通过所有的测试用例. 那么,C++ 程序中什么函 ...
- 牛客网_PAT乙级_10234有理数四则运算(20)【通过5/7:格式错误】
题目描述 本题要求编写程序,计算2个有理数的和.差.积.商. 输入描述: 输入在一行中按照"a1/b1 a2/b2"的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整 ...
- 牛客网_PAT乙级_1019旧键盘 (20)
题目描述 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出肯定坏掉的那些键. 输入描述: 输入在2行中分别给出应该输入的文字 ...
- 牛客网_PAT乙级_1018人口普查(20)
题目描述 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过200岁的老人,而今天是20 ...
- 牛客网_PAT乙级1007_A除以B (20)
题目描述 本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数.你需要输出商数Q和余数R,使得A = B * Q + R成立. 输入描述: 输入在1行中依次给出A和B,中间以1空格分隔 ...
- 牛客网_PAT乙级1002_数字分类 (20)
#include<stdio.h> #include<stdlib.h> int main() {int num;int a[1000] = { 0 };int i;int f ...
- 牛客网_PAT乙级_1015反转链表 (25)【没做出来】
题目描述 给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转.例如:给定L为1→2→3→4→5→6,K为3,则输出应该为 3→2→1→6→5→4:如果K为4,则输出应该为4→3→2→1→5 ...
- 牛客网_PAT乙级_1013组个最小数 (20)
题目描述 给定数字0-9各若干个.你可以以任意顺序排列这些数字,但必须全部使用.目标是使得最后得到的数尽可能小(注意0不能做首位).例如: 给定两个0,两个1,三个5,一个8,我们得到的最小的数就是1 ...
- 牛客网_PAT乙级_1010月饼 (25)
因为黑框框里放不下,(非官网)测试用例用txt导入: 这题有一个陷阱,官网上说给非0数,测试用例却出现了0,0吨的月饼能卖507元,而且这样的月饼要最先卖,因为它的price是inf,卖掉0吨净赚50 ...
最新文章
- 2022-2028年中国耐二甲醚橡胶密封材料行业市场全景调研及发展趋势分析报告
- VS2013\VS2017 使用git 总是需要输入账号密码
- Data Geekery发布了Java ORM工具jOOQ的3.9.0版,用于构建类型安全查询
- JAVA ee6 result结果集_java对数据库的表插入操作时,显示已生成用于更新的结果集...
- 韦根w34是多少位_韦根接口读卡器说明书
- 摩托罗拉v8对讲机驱动软件_摩托罗拉数字机如何设置“个性”提示音
- 大数据分析与应用技术国家工程实验室项目通过验收
- Mr.J--蓝桥杯--明明的随机数
- c语言通讯录程序线性表,数据结构(C语言)课设1——单位员工通讯录管理系统(线性表应用)...
- Mac下SSH Key配置
- 【工具】线程安全的JdbcTemplate.java
- Fuse Audio Labs VCS-1 Mac - 零延迟通道效果插件
- [POI2014]Freight
- 拓端tecdat|R语言进行数值模拟:模拟泊松回归模型的数据
- k-d Tree及其Java实现
- QT动态加载DLL包括加载DLL中的类及其成员函数
- error C251: illegal octal digit 错误提示
- ORA-04063: package body “SYS.DBMS_DATAPUMP“ has errors
- 企业微信如何退出之前的公司
- 【Spring】入门