精华内容
下载资源
问答
  • Description 由键盘输入正数n(n<30),要求输出如下2*n+1行的菱形图案。 输出格式 菱形右边不留多余空格 输入样例 2 输出样例 * *** ***** *** *
  • 打印菱形图案

    2021-05-23 21:30:46
    打印菱形 题目内容: 用C语言在屏幕上输出以下图案: 思路: 这道题的解决办法有很多,大多都是拆分法,这里捡一种我觉得最方便的方法作以介绍: 首先我们需要明白,这种图案形式打印的题目,都是一行一行打印出来...

    题目:

    打印菱形
    题目内容:
    用C语言在屏幕上输出以下图案:

    在这里插入图片描述

    思路:

    这道题的解决办法有很多,大多都是拆分法,这里捡一种我觉得最方便的方法作以介绍:
          首先我们需要明白,这种图案形式打印的题目,都是一行一行打印出来的。
          之后就是考虑如何做方便了。
    拆分:
          我们将菱形拆分成 上三角 + 中间最长的部分 + 下三角 ,分别打印即可
          仔细观察,每一行的图案由空格和星号组成,数一数对应行的空格数和星号数分别进行打印即可
          找规律,我们发现,‘*’的数量是 2*row-1,‘ ’的数量是7-row。
          好了,可以写代码了!
    

    代码

    //先来一个打印*和空格数量的函数
    void PrintLine(int starCount, int spaceCount)
    {
    	for (int i = 0; i < spaceCount; i++)
    	{
    		printf(" ");
    	}
    	for (int i = 0; i < starCount; i++)
    	{
    		printf("*");
    	}
    	printf("\n");
    }
    //然后再写打印菱形的函数
    void PrintLingXing()
    {
    	//先打印上半角
    	for (int row = 1; row<=6; row++)
    	{
    		PrintLine(row * 2 - 1, 7 - row);
    	}
    	//在打印中间部分
    	PrintLine(13, 0);
    	//下三角,反着循环上三角即可
    	for (int row = 6; row>=1; row--)
    	{
    		PrintLine(row * 2 - 1, 7 - row);
    	}
    }
    
    void main()
    {
    	PrintLingXing();
    }
    
    展开全文
  • while(1)//这一步目的可以打印多次菱形 { int i=0,j=0,k=0,t=0,n=0,x=0; scanf("%d",&n); //n的含义是菱形的长对角线的长度,因此n必须是奇数,也可以说是菱形竖着放时的高度 x=(n+1)/2; //这是菱形...

    这是菱形图案
    高度为7,边长为(7+1)/2=4

    这是完整代码

    #include<stdio.h>
    int main()
    {
    	while(1)//这一步目的可以打印多次菱形
    	{
    		int i=0,j=0,k=0,t=0,n=0,x=0; 
    		scanf("%d",&n);			//n的含义是菱形的长对角线的长度,因此n必须是奇数,也可以说是菱形竖着放时的高度
    		x=(n+1)/2;		//这是菱形边长x与长对角线n的对应关系
    		printf("这个菱形的边长是:%d\n",x); 
    		for(i=1;i<=n;i++)//这一步打印菱形的高度
    		{
    			if(i<=x)//当打印上三角形时,打印中的高度i<=边长x
    			{
    				for(j=1;j<=x-i;j++)//打印上三角形中的空白处,即空格字符
    				{
    					printf(" "); 
    				}
    				for(k=1;k<=2*i-1;k++)//打印上三角形中空白处后面的*字符
    				{
    					printf("*");
    				}
    			}
    			else
    			{
    				for(j=1;j<=i-x;j++)//打印下三角形中空白处,即空格字符
    				{
    					printf(" ");
    				}
    				for(k=1;k<=n-2*(i-x);k++)//打印下三角形中空白处后面的*字符
    				{
    					printf("*");
    				}
    			}
    			printf("\n");//每循环一次,相当于打印了一行,高度增加1.
    		}
    		printf("\n");//每打印一个菱形,换行一次.
    	}
    	return 0;
    }
    

    这是运行结果
    在这里插入图片描述
    如果有哪个地方看不懂的话,可以发评论或者私信,小白及时回复。

    展开全文
  • C语言打印菱形图案

    千次阅读 2019-07-17 19:52:58
    #include int get_rhombus(int i, int top) { int n = 1; int o_i = i; for(o_i; o_i (top - 1) / 2; o_i++) //空格个数为 (高度 - 1)/ 2 个 { printf(" ");... //打印菱形 return 0; }

    #include <stdio.h>

    int get_rhombus(int i, int top)
    {

    int n = 1;
    int o_i = i;
    
    for(o_i; o_i <= (top - 1) / 2; o_i++)    //空格个数为 (高度 - 1)/ 2 个
    {
        printf("  ");
    }
    
    for(n; n <= 2 * i - 1; n++)              //星星个数为 (2倍的当前高度 - 1)个 
    {
        printf("☆ ");
    }
    printf("\n");
    printf("\n");
    return 0;
    

    }

    int got_rhombus(int i,int j, int top)
    {

    int n = 1;
    int o_i = i;
    for(o_i; o_i - ((top + 1)/2) > 0;o_i--)  //空格个数为(高度 - 1)/2 个
    {
        printf("  ");
    }
    
    for(n; n <= (i - j) * 2 - 1 ; n++)       //星星个数为(当前高度 - x)- 1个  x为2,4,6,8,10,12
    {
        printf("☆ ");
    }
    printf("\n");
    printf("\n");
    return 0;
    

    }

    void drawing_rhombus(int i, int j,int top)
    {

    for(i; i < top + 1;i++)
    {
        if(i <= ((top +1) / 2))   
        { 
            get_rhombus(i, top); //若在菱形高度中间之前,则用此函数
        }
    
        if(i > ((top+1)/2) && i < (top + 1))
        {
            got_rhombus(i, j, top);//在菱形高度中间之后,则用这个函数
            j = j + 2;
        }
    }   
    

    }

    int main()
    {

    int i = 1;
    int j = 2;
    int top; //菱形竖着长度 必须为单数
    
    scanf("%d", &top);
    if(top % 2 == 0) //判断是否为奇数,若为奇数则继续,否则退出
    {
        printf("应输入奇数!");
        return 0;
    }
    
    drawing_rhombus(i, j ,top); //打印菱形
    
    return 0;
    

    }

    展开全文
  • 打印菱形图案(PTA)

    千次阅读 2021-01-11 15:47:31
    打印菱形图案 本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。 标题输入格式 输入在一行中给出一个正的奇数n。 输出格式 输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。 ...

    打印菱形图案

    本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。


    标题输入格式

    输入在一行中给出一个正的奇数n。

    输出格式

    输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。

    输入样例

    7
    

    输出样例

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

    代码

    #include<stdio.h>
    int main(void) 
    {	
        int n, i, a;
    	scanf("%d", &n);	
    	for (i=0; i<(n+1)/2; i++) 
    	{    		
    		for (a=0; a<n/2-i; a++)			
    			printf("  ");		
    		for (a=0; a<2*i+1; a++)			
    			printf("* ");		
    		printf("\n");	
    	}	
    	for (i=1; i<=(n-1)/2; i++) 
    	{  		
    		for (a=0; a<i; a++)			
            	printf("  ");		
    	    for (a=0; a<n-2*i; a++)			
    	    	printf("* ");		
    	    printf("\n");	
    	} 	
    	return 0;
    }
    
    
    展开全文
  • 如何打印菱形图案(C语言)

    千次阅读 2019-09-26 19:10:10
    菱形图案是由行列组成的,而且每一行中有2种字符,在观察的时候很容易忽视空格字符,而是只注意到*字符,但是我们发现只注意到字符个数远远不够,还得需要观察字符数和行列的关系,这样才能完成一个完整的程序。...
  • 7-4 打印菱形图案

    2021-04-23 22:51:35
    7-4 打印菱形图案 本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。 输入格式: 输入在一行中给出一个正的奇数n。 输出格式: 输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。 ...
  • #include<stdio.h> int main() ... i++) //打印上半部分 { for (j = 0; j < n - i; j++) { printf(" "); } for (j = 0; j <= i; j++) { printf("* ");.
  • c语言打印菱形图案

    千次阅读 多人点赞 2020-08-09 12:35:13
    1.打印空心菱形 #include<stdio.h> int main() { int n,i,m,j,k; scanf("%d", &n); m = (n + 1) / 2; for (i = 1; i <= n; i++) //一行一行的循环打印 { if (i <= m) //分两种情况,上半...
  • C/C++ 打印菱形图案

    2021-03-23 08:58:44
    以n行菱形为例(n为奇数),图形分为上下2部分,左上角坐标为(0,0),顶点坐标为(0,n/2),图形上半部分(0~n/2),从第1行到第n/2行,每行菱形数递增1个单位,同时每行菱形的起始坐标递减1个单位。图形下半部分...
  • PTA-7-59 打印菱形图案

    千次阅读 2020-11-20 13:21:12
    本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。 输入格式: 输入在一行中给出一个正的奇数n。 输出格式: 输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。 输入样例: 7 解决...
  • 【C】 打印菱形图案

    千次阅读 2020-05-27 22:32:13
    打印菱形图案 打印出如下图案(菱形)。 * *** ***** ******* ***** *** * 代码: //打印菱形图案 #include<stdio.h> int main() { //分析,菱形图案由空格和*号组成 //声明函数 void print...
  • 打印菱形图案(C语言实现)

    千次阅读 2020-03-24 22:08:27
    习题4-9 打印菱形图案(C语言实现) 分析:分上下两个三角形打印 #include <stdio.h> int main() { int n,i,j,k; scanf("%d",&n); n=n/2+1; for(i=0; i<n; i++)//控制行数,上三角 { for(j=1; ...
  • 7-59 打印菱形图案

    2021-10-27 21:42:54
    7-59 打印菱形图案 (15 分) 本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。 输入格式: 输入在一行中给出一个正的奇数n。 输出格式: 输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一...
  • 补充知识:python打印菱形的三种方法 第一种(自己想的,有点麻烦): rows = int(input('请输入菱形边长:\n')) row = 1 while row <= rows: col = 1 # 保证每次内循环col都从1开始,打印前面空格的个数 ...
  • 本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案
  • PTA 7-12 打印菱形图案

    千次阅读 多人点赞 2020-11-05 21:02:10
    7-12 打印菱形图案 (15分) 本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。 输入格式: 输入在一行中给出一个正的奇数n。 输出格式: 输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个...
  • 打印菱形图案(C语言)

    2019-12-19 10:30:04
    ”组成的正菱形图案。 输入格式: 输入在一行中给出一个正的奇数n。 输出格式: 输出由n行星号“ ”组成的菱形,如样例所示。每个星号后跟一个空格。 /*输入样例: 7 输出样例: * * * * * * * * * * * * * ...
  • 7-5 打印菱形图案 (10分) 本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。 输入在一行中给出一个正的奇数n。 输出格式: 输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。 输入...
  • 7-29 打印菱形图案 (20分) #include<stdio.h> main() { int n; scanf("%d", &n); for(int i = 1; i <= (n/2)+1; i ++)//保证前(n/2)+1行的循环顺利进行。 { for(int j = 1; j <= n/2-i+1; j+...
  • /*打印菱形图案*/ int main ( void ) { int n , j , i ; /*i为行数,j为每行中的项数*/ printf ( "(n为奇数)输入图案高度n:\n" ) ; scanf ( "%d" , & n ) ; if ( n 0 || n % 2 == 0 ) /*...
  • C#打印菱形图案

    2019-06-18 16:56:10
    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;...namespace 打印菱形图案 { class Program { static void Main(string[] args) ...
  • 例题:编程打印菱形图案。 代码如下: /*程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。*/ #include"stdio.h" main() { int i,j,k; for...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,806
精华内容 1,522
关键字:

打印菱形图案