zoukankan      html  css  js  c++  java
  • PTA编程总结1—打印沙漏

    题目:7-1 打印沙漏 (20 分)

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

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

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

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

    实验代码:

    #include <stdio.h>
    
    int main(void)
    {
    	int N, sum = 1, i = 1;
    	char c;
    	int row, a;
    
    	scanf("%d %c", &N, &c);
    	while (sum <= N)
    	{
    		sum += 2 * (2 * (i + 1) - 1);
    		if (sum <= N)
    			i++;
    	}
    
    	for (row = 0; row < i; row++)
    	{
    		for (a = 0; a < row; a++)
    			printf(" ");
    
    		for (a = 0; a < 2 * (i - row) - 1; a++)
    			printf("%c", c);
    
    		printf("
    ");
    	}
    
    	for (row = 2; row <= i; row++)
    	{
    		for (a = 0; a < i - row; a++)
    			printf(" ");
    
    		for (a = 0; a < 2 * row - 1; a++)
    			printf("%c", c);
    
    		printf("
    ");
    	}
    	printf("%d", N - (sum - 2 * (2 * (i + 1) - 1)));
    	return 0;
    }
    

    设计思路:

    本题调试过程碰到问题及解决办法:

    遇到的问题:部分正确
    解决的办法:通过观察代码,与别人的进行对比,发现我row<=i漏掉了一个等于号。

    运行结果截图:

  • 相关阅读:
    win10使用WampServer部署magento
    JavaScript的this详解
    jQuery的css
    jQuery.cssHooks
    jQuery属性
    jQuery选择器
    ajax中的stasus错误详解
    ajax
    js数组中的注意
    js的严格模式
  • 原文地址:https://www.cnblogs.com/LILI6/p/10404987.html
Copyright © 2011-2022 走看看