博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PAT L1-002. 打印沙漏
阅读量:4157 次
发布时间:2019-05-26

本文共 941 字,大约阅读时间需要 3 分钟。

#include 
intmain() { int N, i, j, k, maxi; char s; scanf("%d %c", &N, &s); /* * i为单独一个"*"上面可能的层数,计算最大的i */ for( i = 1; ; i++ ) { if( 2 * (i * i + 2 * i) + 1 > N ) { i--; break; } } maxi = i; //printf("i: %d\n", maxi); // 打印沙漏上半部分,不包括单独的"*" for( i = maxi; i >= 1; i-- ) { for( j = 0; j < maxi - i; j++ ) { printf(" "); } for( k = 1; k <= (2 * i + 1); k++ ) { printf("%c", s); } printf("\n"); } // 打印沙漏下半部分,包括"*" for( i = 0; i <= maxi; i++ ) { for( j = maxi - i; j > 0; j-- ) { printf(" "); } for( k = 1; k <= (2 * i + 1); k++ ) { printf("%c", s); } printf("\n"); } // 判断符号是否有剩余 maxi++; if( 2 * (maxi * maxi + 2 * maxi) + 1 > N ) { maxi--; printf("%d\n", N - (2 * (maxi * maxi + 2 * maxi) + 1)); } return 0;}

转载地址:http://dpkxi.baihongyu.com/

你可能感兴趣的文章
谁贪占了我的系统资源 php-fpm
查看>>
eAccelerator 配置参数详解
查看>>
Redis中7种集合类型应用场景
查看>>
PHP5.2和PHP5.3的垃圾回收机制
查看>>
vim编辑二进制文件
查看>>
阻塞与非阻塞的区别
查看>>
ruby gem 国内镜像。。。 顶一下taobao
查看>>
安装ruby on rails & redmine管理软件
查看>>
mysql在已有无分区表增加分区,mysql5.5才有,可以是innodb_file_per_table关闭状态.
查看>>
Sed
查看>>
read 管道 子shell 无法赋值问题的解决
查看>>
python 代码 性能优化技巧
查看>>
PhantomJS 服务端渲染网页,记录各个请求信息
查看>>
多版本并发控制(MVCC)在分布式系统中的应用
查看>>
MySQL Partition扫盲
查看>>
redis 参数说明
查看>>
Spark 架构和组件集的简要概述
查看>>
Flex中的嵌入资源
查看>>
GeneralSanguo工作笔记1——利用Illustrator制作Flex4皮肤
查看>>
GeneralSanguo工作笔记2——使用Scroller实现背景的拖拽移动
查看>>