打印图形-菱形(只有边的字符菱形,对称出现的数字菱形)

数字菱形图案(绘制图形题的通用思路解法)(C++) 数字菱形图案(双重循环)(C++) //找到一道比较有代表性的,较为全面的绘制图形,并且控制绘制字符在变化的题目,惊喜。 【问题描述】 编程打印数字构成的菱形图案,菱形上半部分的行数n( 1<n<10 )从键盘输入,总行数为2n-1。图案的样式按下面的样例。 【输入形式】 从键盘输入包括中间一行在内的菱形上半部分的行数n ( 1&am 阅读详情

空心菱形

只有边的菱形(算法在另外一个简单的空心菱形的基础上得到)

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

//数字菱形
在这里插入图片描述

#include<stdio.h>
int main()
{
    int n,i,j,k;
    scanf("%d",&n);
    //上半部分
    for(i=1;i<=n-1;i++)
    {
        for(j=n-i;j>=1;j--)
            printf(" ");
        for(j=1;j<=i;j++)
        {
            if(j==i)
                printf("%d",j-i+1);
            else
                printf("%d",n-j);
        }
        for(j=i-1;j>=1;j--)
        {
            printf("%d",n-j);
        }
        for(j=n-i;j>=1;j--)
            printf(" ");
        printf("\n");
    }
    //中间一行
    for(i=1;i<=2*n-1;i++)
        printf("1");
    printf("\n");
    //后半部分
    for(i=n-1;i>=1;i--)//前半部分粘过来,只改这一行
    {
        for(j=n-i;j>=1;j--)
            printf(" ");
        for(j=1;j<=i;j++)
        {
            if(j==i)
                printf("%d",j-i+1);
            else
                printf("%d",n-j);
        }
        for(j=i-1;j>=1;j--)
        {
            printf("%d",n-j);
        }
        for(j=n-i;j>=1;j--)
            printf(" ");
        printf("\n");
    }
    return 0;
}

用python实现打印各种图形总结(包括等腰三角形,菱形,近似圆等)(Python经典编程案例) 1. 打印等腰三角形 lines = int(input("输入要打印的行数:")) for i in range(lines): for j in range(0, lines - i): print(end=" ") for k in range(2 * i + 1): print("*", end="") print() 执行结果如... 阅读详情

相关推荐

C语言实现输入大写字母打印对称菱形图案程序设计

回头看,这个“字母菱形”项目远不止教会你怎么写嵌套循环。它实际上涵盖了编程中的多个核心思想:抽象建模:把视觉图形转化为数学公式(如2n+1状态控制:通过i和n的关系判断区域归属防御编程:处理非法输入,提升程序鲁棒性模块化设计:函数封装,便于测试与复用性能优化:避免冗余计算,减少内存占用更重要的是,它让我们意识到:即使是看似简单的任务,背后也可能隐藏着丰富的工程细节。

weixin_36197669的博客 794

C语言简单题 数字菱形

输入一个数字 打印出以 1 121 12321 1234321 方式排列的数字菱形

山东科技大学oj之二

山东科技大学oj题目之二。对于上一个文档新增了许多题目。希望能供给大家分享借鉴。

向标准输出打印一些用ASCII字符组成的图形

Problem E: Print Graphics Problerm (I) 向标准输出打印一些用ASCII字符组成的图形。 Input 输入为一个整数n,0&lt;n&lt;100。 Output 输出一个n层等腰三角形,格式见sample。 Sample Input 5 Sample Output + +++ +++++ +++++++ +++++++++ #include &lt;std...

weixin_43400733的博客 2595

打印各种图案(未整理完全)

1. 输出正方形图案 Time Limit: 1 Sec  Memory Limit: 2 MB Submit: 927  Solved: 666 [Submit][Status][Web Board] Description 输出用“*”组成的正方形图案,例如 输入5,输出 ***** ***** ***** ***** ***** 输入3,输出 *** *** ***...

qq_43398535的博客 892

Problem E: Print Graphics Problerm (IV) (Append Code)

Problem E: Print Graphics Problerm (IV) (Append Code) Time Limit: 1 Sec  Memory Limit: 16 MB Submit: 1419  Solved: 941 [Submit][Status][Web Board] Description 向标准输出打印一些用ASCII字符组成的图形------

lz1041414957的专栏 2988

关于打印图形一类的题目

一、对于只有一半的图形而言 Problem F: Print Graphics Problerm (I) Time Limit: 1 Sec Memory Limit: 16 MB Submit: 3123 Solved: 2067 [Submit][Status][Web Board] Description 向标准输出打印一些用ASCII字符组成的图形。 Input 输入...

fighting123678的博客 1987

山科大OJ-Promble Print Graphics Problerm (IV) (Append Code)

Print Graphics Problerm (IV) (Append Code) 在mooc上看到老师用下面的方法来求解这道题,正好OJ上有一道类似的题目。用这种方法比用之前的方法写的代码更精简。 这是模板: #include #include int main() { int i,j; int m; scanf("%d",&m); for(i=-m;

Rachelwrx在向上爬呀爬 1934

打印数字图形数字菱形

打印数字图形 题目描述 先要求你从键盘输入一个整数n(1 输入 输入包含多组测试数据。每组输入一个整数n(1 输出 对于每组输入,输出指定的数字图形。 注意:每行最后一个数字后没有任何字符。 样例输入 5 样例输出 1 121 12321 1234321 123454321 1234321 12321

Xing___wei的博客 8864

图形数字菱形

当然,原来输出一个*号的地方只占一个字符的位置,现在都要改为2个字符的位置,如果输出的是数字且多于2个,则要是%3d或%4d了。本题图形是关于第n行对称的,我们可以先写第1到n行的循环。第n行以后的图形,观察可知每行空格数量变为hang-n,循环次数只需把第一自然段写的hang替换为2倍的n-hang(求>n的hang,关于n对称的那个

2401_82610065的博客 1130

C语言之打印图形专题

最近练习了一些关于图形打印的问题,发现考察的实际上是对嵌套循环语句的理解,以及对变量之间关系的把握。可以帮助我们加深对循环、条件判断、控制流等基本编程概念的理解,同时培养逻辑思维能力。好了,废话不多说,下面是我对常见图形打印题目的分析与代码实现。(文章末尾有彩蛋哦~)

weixin_58280736的博客 4825

菱形打印

C语言初阶菱形打印~

hu_yuchen的博客 3380

25【图形数字菱形

现在我们练习输出变化的字符,在打印星号图形的基础上,原来输出*号的位置,将printf("*");当然,原来输出一个*号的地方只占一个字符的位置,现在都要改为2个字符的位置,如果输出的是数字且多于2个,则要是%3d或%4d了。同学们总结一下打印星号组成的实心图形程序的编程思路:第一步,打印星号组成的正方形;第二步,改变每行星号的个数,打印每行星号数量不一样的图形;如果是空心图形,每行第一个和最后一个位置输出星号,其他位置输出空格。不用数组就可以完成。输入 n 的值,输出如下例( n=4 )所示的数字菱形

2401_87283896的博客 821

关于C语言打印菱形的各种题型

在做一些打印菱形的题目时发现题型不外乎这几种: 【一】:输出*形组成的菱形 ①题目:             描述 由键盘输入正数n(n             输入样例 7             输出样例 ******* *** *** ** ** * * ** ** *** ***

夜空中最亮的星 2万+

关于C语言打印菱形的各种题型6,关于C语言打印菱形的各种题型

在做一些打印菱形的题目时发现题型不外乎这几种:【一】:输出*形组成的菱形①题目:描述由键盘输入正数n(n<30,n为奇数),要求输出具有n行的如下图案。输入样例7输出样例********** ***** *** *** ***** **********凡是遇到这种输出几就有几行的菱形(例如n=7,则有7行),一般采取“对称法”,就是设一个for循环for(i=-(n/2);i...

weixin_39855869的博客 667

数字菱形

数字菱形 Description 观察例子,打印出如下图形 Input 多组测试数据,每组输入1个大于1小于9的整数,为菱形 Output 对于每组输出数字菱形 Sample Input 2 3 Sample Output 2 212 2 3 323 32123 323 3 #include&lt;stdio.h&gt; int main() { int t,i,j,n,k,h; wh...

浅连木华 1224

【习题——菱形打印

菱形打印,总结

B_12385_Daydream的博客 1359
上一篇: 编写函数:各位数字之和(函数内调用本函数)
下一篇: 结构体-Problem G: 编写函数:谁能上春晚? (Append Code)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值