回 帖 发 新 帖 刷新版面

主题:[原创]用c语言打印图案(关于*的应用)

请用c语言编程打印以下图案
*
* *
* * *
* * * *
* * * * *
#include<stdio.h>
#include<iostream.h>
void main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        printf("%.*s\n",i,"************");//在每行中靠左打印i个*;

    }
}

              *
            * *
          * * *
        * * * *
      * * * * *
#include<stdio.h>
#include<iostream.h>
void main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        printf("%*.*s\n",n,i,"**********");//每行有n个字符,                                                  //在每行中靠右打印i个*
        
    }
}
             *
           * * *
         * * * * *
       * * * * * * *
     * * * * * * * * *
#include<stdio.h>
#include<iostream.h>
void main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        printf("%*.*s\n",n+i-1,2*i-1,"**********");
        //每行有n+i-1个字符,靠右打印2*i-1个*
    }
}

回复列表 (共11个回复)

沙发

有点垃圾,本人用‘*’做的圣诞树
#include<stdio.h>
void main()
{
    int i,j,k,a=0,b=1,c=1;
    for(i=0;i<7;i=i+2)            
    {    
        a++;
        printf("\t\t\t");
        for(k=0;k<a;k++)
            printf("\b");
        for(j=0;j<=i;j++)
            printf("*");
        printf("\n");
    }
    for(i=2;i<13;i=i+2)
    {
        b++;
        printf("\t\t\t");
        for(k=0;k<b;k++)    
            printf("\b");
        for(j=0;j<=i;j++)
            printf("*");
        printf("\n");
    }
    for(i=2;i<17;i=i+2)
    {
        c++;
        printf("\t\t\t");
        for(k=0;k<c;k++)
            printf("\b");
        for(j=0;j<=i;j++)
            printf("*");
        printf("\n");
    }
    for(i=0;i<4;i++)
    {
        printf("\t\t\t");
        printf("\b\b\b");
        for(j=0;j<5;j++)
            printf("*");
        printf("\n");
    }
    printf("\t\tHappy new year!!\n");    
}

板凳

我的意思是不用双重循环来打印图案.
这为c语言中*与字符串的妙运.
怎么会是垃圾?

3 楼

[em11][em12][em12]  楼主编的真的很棒啊! 继续加油哦!呵呵
                    希望还有更好的哦![em2][em2]

4 楼

呵呵 我说 我编的垃圾

5 楼

强人阿

6 楼

那位解释一下
printf("%.*s\n",i,"************");

7 楼

我怎么不明白是什么意思啊,*和字符串怎么连用的啊?和六楼的问题一样!!!!
请高手解释一下

8 楼

果然是天上掉下来的才,知道用*来动态限制输出
长度

9 楼

搂主和一楼的都很棒哦
哈哈

10 楼

only 4 statement:

for(i=-4; i<=4 i++{
   for(j=4; j>=abs(i); --j)
      printf("%c", '*');
   printf("\n");
}

output:

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

我来回复

您尚未登录,请登录后再回复。点此登录或注册