算法竞赛入门【码蹄集新手村600题】(MT1200-1220)C语言(二)

简介: 算法竞赛入门【码蹄集新手村600题】(MT1200-1220)C语言(二)

MT1207 倒金字塔

(1)题目

请编写一个简单程序,输入正整数n,输出n行W字金字塔。(第一行左边不空格)


格式

输入格式:
输入整型
输出格式:
输出n行W字倒金字塔

样例1

输入:
5
输出:
W W W W W  
 W W W W  
  W W W  
   W W  
    W

(2)参考代码

#include<stdio.h>
int main() 
{
    int i, n, x, y;
    scanf("%d", &n);
    for (i=1;i<=n;i++)
    {
        x = i;
        while (x-1)
        {
            printf(" ");
            x--;
        }
        for (y=1;y<=n+1-i;y++)
        {
            printf("W ");
        }
        printf("\n");
    } 
}

MT1208 菱形

(1)题目

请编写一个简单程序,输入正整数n,输出n行W字菱形。


格式

输入格式:
输入整型
输出格式:
输出W字菱形

样例1

输入:
5
输出:
    W  
   W W  
  W W W  
 W W W W  
W W W W W  
 W W W W  
  W W W  
   W W
    W

(2)参考代码

#include<stdio.h>
int main() 
{
    int n;
    scanf("%d", &n);
    for (int i=1;i<=2*n-1;i++)
    {
        if (i < n)
        {
            for (int j=n-i;j>0;j--)
            {
                printf(" ");
            }
        }
        else if (i > n)
        {
            for (int j=1;j<=i-n;j++)
            {
                printf(" ");
            }
        }
        if (i <= n)
        {
            for (int j=1;j<=i;j++)
            {
                printf("W ");
            }
        }
        else
        {
            for (int j=1;j<=n-(i-n);j++)
            {
                printf("W ");
            }
        }
        printf("\n");
    }   
    return 0; 
}

MT1209 沙漏

(1)题目

请编写一个简单程序,输入正整数n,输出W字沙漏。(第一行左边不空格)


格式

输入格式: 
输入整型
输出格式: 
输出W字沙漏

样例1

输入格式: 
5
输出格式:

(2)参考代码

#include<stdio.h>
int main()
{
    int N;
    scanf("%d", &N);
    for (int i = 0; i < N; i++)
    {
        if (i >= 1)
        {
            for (int j = 0; j < i; j++)
            {
                printf(" ");
            }
        }
        for (int j = i; j < N; j++)
        {
            printf("W ");
        }
        printf("\n");
    }
    for (int i = 0; i < N; i++)
    {
        if (i < N - 1)
        {
            for (int j = 0; j < N - 1 - i; j++)
            {
                printf(" ");
            }
        }
        for (int j = 0; j < i + 1; j++)
        {
            printf("W ");
        }
        printf("\n");
    }
    return 0;
}

MT1210 弗洛伊德三角

(1)题目

输入正整数N。输出N行的弗洛伊德三角形


格式

输入格式: 
输入为整型
输出格式: 
输出为整型,空格分隔

样例1

输入格式:
 4
输出格式:
1
2 3
4 5 6
7 8 9 10

(2)参考代码

#include<stdio.h>
int main() 
{
    int N, i, j, x = 0;
    scanf("%d", &N);
    for (i=1;i<=N;i++)
    {
        for (j=1;j<=i;j++)
        {
            x++;
            printf("%d ", x);
        }
        printf("\n");
    }
    return 0; 
}

MT1211 给定数字的乘法表

(1)题目

输出给定数字N的乘法表。


格式

输入格式:
输入为整型
输出格式:
输出为整型,空格分隔

样例1

输入:
9
输出:
9 18 27 36 45 54 63 72 81

(2)参考代码

#include<stdio.h>
int main() 
{
    int N, i;
    scanf("%d", &N);
    for (i=1;i<=9;i++)
    {
        printf("%d ", N*i);
    }
    return 0; 
}
目录
相关文章
|
1天前
|
算法 C语言 人工智能
|
1天前
|
算法 C语言
C语言易混淆、简单算法、结构体题目练习、常见关键字总结-2
C语言易混淆、简单算法、结构体题目练习、常见关键字总结
|
1天前
|
算法 编译器 API
C语言易混淆、简单算法、结构体题目练习、常见关键字总结-1
C语言易混淆、简单算法、结构体题目练习、常见关键字总结
|
1天前
|
存储 缓存 算法
【C 言专栏】C 语言实现算法的高效性
【5月更文挑战第6天】本文探讨了C语言在实现高效算法上的优势,包括其高效性、灵活性、可移植性和底层访问能力。关键点包括选择合适的数据结构(如数组、链表、树和图)、应用优化策略(如减少计算、空间换时间、分治和动态规划),以及内存管理和代码优化技巧。通过实际案例(如排序和图遍历算法),阐述了如何利用C语言实现算法高效性,并强调在实践中不断探索和优化以提升算法效率。C语言在计算机科学中的重要地位使其成为实现高效算法的首选工具。
【C 言专栏】C 语言实现算法的高效性
|
1天前
|
搜索推荐 C语言
【C语言/数据结构】排序(归并排序|计数排序|排序算法复杂度)
【C语言/数据结构】排序(归并排序|计数排序|排序算法复杂度)
11 0
|
1天前
|
机器学习/深度学习 算法 C语言
【C言专栏】递归算法在 C 语言中的应用
【4月更文挑战第30天】本文介绍了递归算法在C语言中的应用,包括基本概念(通过调用自身解决子问题)、特点(调用自身、终止条件、栈空间)和实现步骤(定义递归函数、分解问题、设置终止条件、组合解)。文中通过阶乘计算和斐波那契数列两个案例展示了递归的使用,强调了递归可能导致的栈溢出问题及优化需求。学习递归有助于理解和应用“分而治之”策略。
|
1天前
|
存储 机器学习/深度学习 算法
|
1天前
|
编译器 C语言
函数深入解析(C语言基础入门)
函数深入解析(C语言基础入门)
|
1天前
|
C语言
数组深入剖析(C语言基础入门)
数组深入剖析(C语言基础入门)
|
1天前
|
算法 搜索推荐 C语言
C语言用流程图表示算法
C语言用流程图表示算法
23 0