首页 > 其他分享 >2023/4/23

2023/4/23

时间:2023-04-23 20:58:00浏览次数:39  
标签:沙漏 23 int printf i1 2023 符号 点数

L1-002 打印沙漏 分数 20 作者 陈越 单位 浙江大学

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

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

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

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

输入格式:

输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。

输出格式:

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

输入样例:

19 *
 

输出样例:

*****
 ***
  *
 ***
*****
2

 

#include<stdio.h>
int main(){

int a = 1;
char b = '*';
//输入的数字和字符

int spot = 1; //参与组成沙漏的点数,默认参与为一个点
int temp = 1; //每一行的点数
int count = 1; //确定三角形的行数
int remain = 0; //余下未使用的点

scanf("%d %c",&a,&b);

while (spot < a && a >= spot + (temp + 2)*2 ){
//如果使用点数是比输入的点数少且比总点数加下一行的点数大,则执行循环
count ++ ; //有多少行
temp += 2; //这一行点数加2
spot += temp*2; //把这一行点数*2之后在和目前统计的点数相加
}

remain = a - spot;//用输入的点数减去统计的点数得到多余的点数

for(int i1 = count ; i1 > 1 ; i1--){

for (int i2 = 0 ; i2 < count - i1 ; i2++ ){
printf(" ");
}
for (int i3 = 0 ; i3 < i1*2-1 ; i3 ++){
printf("%c",b);
}
printf("\n");
}

for(int i1 = 1 ; i1 <= count ; i1 ++){
for (int i2 = 0 ; i2 < count - i1 ; i2++ ){
printf(" ");
}
for (int i3 = 0 ; i3 < i1*2-1 ; i3 ++){
printf("%c",b);
}

if(i1 != count) {
printf("\n");
}
}
printf("\n");
printf("%d",remain);

}

标签:沙漏,23,int,printf,i1,2023,符号,点数
From: https://www.cnblogs.com/wangxinyuan1108/p/17347700.html

相关文章

  • 4.23
    include<iostream>usingnamespacestd;#include"time_user.h"classstudent{public:   voiddisplay();public:   intnum;   stringname;   charsex; };voidstudent::display(){   cout<<"num:"<<num&......
  • 编程一小时2023.4.23
    1.#include<bits/stdc++.h>usingnamespacestd;stringa,s;intb[1005],t,c[1005];voiddivision(){for(inti=t-1;i>=0;i--){if(b[i]%2)b[i-1]+=10;b[i]/=2;}while(b[t-1]==0)t-......
  • 20230423小记
    没有耳机我要死了耳机没电了回家充电忘带回来了哼哼啊啊啊啊啊闲话虽然中午的活动很有趣,但是八卦很无聊,尤其是我不感兴趣的八卦。打球很开心,但是不会温柔的打球。和lzy贴贴很开心。每日一问,同桌和她的学长什么时候。晚上还要上课麻。太他妈累了,可能需要睡一会。想睡觉是......
  • 4月23报错
     错误原因:构造函数引用实现层错误解决方法:改成引用接口 ......
  • 4.23打卡
    一、问题描述: 爱因斯坦出了一道这样的数学题:有一条长阶梯,若每步跨2阶,则最后剩一阶,若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶。只有每次跨7阶,最后才正好一阶不剩。请问在1~N内,有多少个数能满足?二、设计思路:该问题要求输入N值,求解出在1-N的范围内存在......
  • 2023年团体程序设计天梯赛 题解
    仅更新L1,L2随后写**更好的阅读体验:2023年团体程序设计天梯赛题解**L1-1最好的文档有一位软件工程师说过一句很有道理的话:“Goodcodeisitsownbestdocumentation.”(好代码本身就是最好的文档)。本题就请你直接在屏幕上输出这句话。输入格式:本题没有输入。输出格式:在一行中输出......
  • 2023年团体程序设计天梯赛 题解
    仅更新L1,L2随后写**更好的阅读体验:2023年团体程序设计天梯赛题解**L1-1最好的文档有一位软件工程师说过一句很有道理的话:“Goodcodeisitsownbestdocumentation.”(好代码本身就是最好的文档)。本题就请你直接在屏幕上输出这句话。输入格式:本题没有输入。输出格式:在一行中输出......
  • 【月伴流星】Win10_11_22H2完整+精简多合一安装板2023.04
    本次同时制作Windows10,Windows11两个版本,每个版本亦分为:“集成完整驱动版"和"集成网卡驱动”版,并都已合成可启动光盘iso,支持刻录光盘直接光驱安装,亦可进PE后用UltraISO提取install.win镜像WinNTSetup进行安装!适合技术批量装机,真正做到一盘在手装机无忧!         ......
  • 23年q1结束调整
    1.持仓调整1.2防守7成仓中免分析说明:技术上现在下跌c浪前一个下跌支撑点156,前一个高点239虽然22年q4业绩不太好,不过看好23年的q1.预计23年q1增速10-20%买卖时间点4月28号后比较好,4月28号出一季报目标价210-230,突破不了,技术面止盈,中枢下沿210或者4浪低点成本要控制在200......
  • 每日总结2023/4/23
    今天转换思路完成了对于导航到补货站的过程:自己做的始终比不上现有的地图软件,不如跳转到相应的地图软件进行导航。另外在补货历史记录中增加了补货地点一条;更新注册页面。      ......