花式打印圖形(C語言)

學完了c語言,回過頭來看看之前難死自己的打印圖形,嘿嘿,果然還是很簡單的啦。
打印圖形問題的關鍵就是找到圖形的行數與星號,空格三者之間的規律,如果打印圖形AC了的話,相信循環已經不是問題了。
在這裏插入圖片描述

1.輸出一行星號

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

2.打印平行四邊形

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

3.打印三角形

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

4.輸出X圖形

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

5.輸出一個字母K吧!

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

6.打印空心三角形

#include <stdio.h>
int main()
{

   int n,i,j,c,z;
   char m;
   scanf("%c%d",&m,&n);
   c=n;
   z=n;
   i=1;
   while(i!=z)
   {
       for(j=1;j<=n;j++)
       {
           if(j==n||j==c)
           {
               printf("%c",m);
           }
           else
           {
               printf(" ");
           }
       }
       i++;
       c=c-1;
       n=n+1;
       printf("\n");
   }
   while(i==z)
   {
       for(i=1;i<=2*z-1;i++)
       {
           printf("%c",m);
       }
       printf("\n");
   }
   return 0;
}

7.空心直角三角形

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

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

	return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章