• 7-1打印漏斗


      实验代码:

    #include<stdio.h>

    int main()
    {
    int sum;
    char c;
    int n;
    scanf("%d %c", &sum, &c);
    for (int i = 0; i <= 100; i++)
    {
    if ((i*i) * 2 - 1 == sum)
    {
    n = i;
    break;
    }
    else if ((i*i) * 2 - 1 > sum)
    {
    n = i - 1;
    break;
    }
    }
    int t = n;
    int counter = 0;
    while (t)
    {
    for (int i = 1; i <= counter; i++)
    {
    printf(" ");
    }
    for (int i = 1; i <= (2 * t - 1); i++)
    {
    printf("%c", c);
    }

    printf(" ");
    counter++;
    t--;
    }
    t = 2;
    counter = n - 2;
    while (t<=n)
    {
    for (int i = 1; i <= counter; i++)
    {
    printf(" ");
    }
    for (int i = 1; i <= (2 * t - 1); i++)
    {
    printf("%c", c);
    }

    printf(" ");
    counter--;
    t++;
    }
    if (sum == 0)
    printf("0 ");
    else
    printf("%d ", sum - (2 * n*n - 1));
    system("pause");
    return 0;
    }

    设计思路:

    1.先给定义不同的值sum,c,n.

    2其次进行不同的循环for ,while语句。

    3在使用自定义函数。

    4.按照题目输入输出。

    问题:在for,和while的语句中出现数值出错,出现不了结果,要注意语句的循环顺序,还有要注意平方根,

    解决问题:进行不断的重试,其次不要弄混中英符号,

    运行结果

  • 相关阅读:
    重谈MST及Kruskal算法
    小技巧—边权转点权
    JDOJ 1062 过路费
    总结—二分答案求解问题
    CF10D LCIS
    NOIP 2012 摆花
    SDOI 2014 旅行
    CF550C Divisibility by Eight
    CF295C Greg and Friends
    USACO Closing the Farm
  • 原文地址:https://www.cnblogs.com/huanglexing/p/10382328.html
Copyright © 2020-2023  润新知