博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
7-1 打印沙漏
阅读量:5136 次
发布时间:2019-06-13

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

7-1 打印沙漏 (20 分)

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

****
***



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

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

输入格式:

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

输出格式:

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

输入样例:

19 *

输出样例:

*****
***



  • 2

1)实验代码

include <stdio.h>

int main(void)

{
int N;
char c;
scanf("%d %c", &N,&c);
int i=1,j;
int n = sqrt((double) (N + 1) / 2);
for (i = 1; i <= n; i++)
{
for (j = 1; j<i; j++)
printf(" ");
for (j = 2 * (n - i) + 1; j >= 1; j--)
printf("%c", c);
putchar('\n');
}
for (i = 1; i <= n - 1; i++)
{
for (j = 1; j <= n-i-1; j++)
printf(" ");
for (j = 1; j <= 2 * i + 1; j++)
printf("%c", c);
putchar('\n');
}
printf("%d", N - (2 * n*n - 1));

}

2)设计思路

第一步:定义变量
第二步:计算行数,使用for语句循环嵌套
第三步:输出
3)本题调试过程碰到的问题及解决办法
1581309-20190220131728598-575371872.png

问题:思路错误,计算思路出了问题,导致结果出现误差

解决办法:上百度,看到别的代码和自己思路偏差,调整

4)运行结果截图

1581309-20190220132242600-1166986499.png

转载于:https://www.cnblogs.com/H-Alice/p/10405982.html

你可能感兴趣的文章
Android Studio
查看>>
zz 圣诞丨太阁所有的免费算法视频资料整理
查看>>
【大数模板】C++大数类 大数模板
查看>>
【123】
查看>>
《收获,不止Oracle》pdf
查看>>
用户权限设置
查看>>
java 之equals与"=="的区别
查看>>
LinkedList<E>源码分析
查看>>
Real-Time Rendering 笔记
查看>>
如何理解HTML结构的语义化
查看>>
Intellij IDEA(eclipse设置)常用快捷键
查看>>
NAT基本原理
查看>>
Java Content Repository API 简介 转自(https://www.ibm.com/developerworks/cn/java/j-jcr/)
查看>>
visio二次开发——图纸解析
查看>>
Activity之间的跳转:
查看>>
iTunes Connect 开发者上手经验(转)
查看>>
vertical-align你为什么不生效
查看>>
C++ 实践总结
查看>>
composer 国内镜像配置
查看>>
软件是天时、地利、人和的产物!
查看>>