• 打印沙漏


      • “沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。
        给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。
        输入格式:
        输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。
        输出格式:
        首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。
        输入样例:
        19
        输出样例:
        ****
        ***
      • #include <stdio.h>                                                    思路 
      • int main()                                                                         沙漏的形状:以最中间的一个*为界限分为上下两部分
        {                                                                                       上半部分:从中心开始向上每行增加2个
            int n;                                                                                下半部分:从中心开始向下每行增加2个
            char c;                                                                       
            scanf("%d %c",&n,&c);
            int sum=1
            int i=1
            while(sum<=n)
            {
                sum+=2*(2*(i+1)-1)
                if(sum<=n)
                    i++;
            }
            int j,k;
            for(j=0;j<i;j++)
            {
                    for(k=0;k<j;k++)
                    printf(" ");
                for(k=0;k<2*(i-j)-1;k++)
                {
                    printf("%c",c);
                }
                printf(" ");
            }
            for(j=2;j<=i;j++)
            {
                   for(k=0;k<i-j;k++)
                    printf(" ");
                for(k=0;k<2*j-1;k++)
                {
                    printf("%c",c);
                }
                printf(" ");
            }
            printf("%d",n-(sum-2*(2*(i+1)-1)));
        }
  • 相关阅读:
    如何控制递归的深度
    判断亲密数
    还是鸡兔同笼
    幂之和
    十进制转换成八进制
    单词译码
    笔试考试系统 ____pagelist使用
    笔试考试系统 ____项目部署
    笔试考试系统 ____成绩统计
    笔试考试系统 ____错题查看
  • 原文地址:https://www.cnblogs.com/amityblue/p/10444307.html
Copyright © 2020-2023  润新知