我是靠谱客的博主 潇洒方盒,最近开发中收集的这篇文章主要介绍利用C语言如何实现一些简单图形的打印,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1#define_CRT_SECURE_NO_WARNINGS 1

因为笔者采用的是VS的编译环境所以有了上面的这一句话

我们都知道平面图形是由一条条线段构成,所以我们就先实现线段的打印

//打印自定义长度的线段
#include<stdio.h>
int main()
{
 int i = 0;
 int n;
 while (~scanf("%d", &n))
 {
 for (i = 0; i < n; i++)
 printf("* ");
 printf("n");
 }
 return 0;

那么,线段学会了,我们就可以进行简单图形的打印了

首先我们从正方形开始:

//打印自定义边长的正方形
#include<stdio.h>
int main()
{
 int j = 0, i = 0;
 int n;
 while (~scanf("%d", &n))
 {
 for (i = 0; i < n; i++)//控制行
 {
 for (j = 0; j < n; j++)//控制列
 printf("* ");
 printf("n");
 }
 }
 return 0;
}

接下来是三角形:(笔者准备了六种三角形)

//打印三角形—1
#include<stdio.h>
int main()
{
 int j = 0, i = 0, n;
 while (~scanf("%d", &n))
 {
 for (j = 0; j < n; j++)//行
 {
 for (i = 0; i < n - j; i++)//列
 {
 printf("* ");
 }
 printf("n");
 }
 }
 return 0;
}

//打印三角形—2
#include<stdio.h>
int main()
{
 int j = 0, i = 0, n;
 while (~scanf("%d", &n))
 {
 for (j = 0; j < n; j++)//行
 {
 for (i = 0; i <= j; i++)//列
 {
 printf("* ");
 }
 printf("n");
 }
 }
 return 0;
}

//打印三角形—3
#include<stdio.h>
int main()
{
 int j = 0, i = 0, n;
 while (~scanf("%d", &n))
 {
 for (j = 0; j < n; j++)//行
 {
 for (i = 0; i < n - j - 1; i++)//列
 {
 printf(" ");
 }
 for (i = 0; i <= j; i++)
 {
 printf("* ");
 }
 printf("n");
 }
 }
 return 0;
}

//打印三角形—4
#include<stdio.h>
int main()
{
 int j = 0, i = 0, n;
 while (~scanf("%d", &n))
 {
 for (j = 0; j < n; j++)//行
 {
 for (i = 0; i < j ; i++)//列
 {
 printf(" ");
 }
 for (i = 0; i < n - j ; i++)
 {
 printf("* ");
 }
 printf("n");
 }
 }
 return 0;
}

//打印三角形—5
#include<stdio.h>
int main()
{
 int j = 0, i = 0, n;
 while (~scanf("%d", &n))
 {
 for (j = 0; j < n; j++)//行
 {
 for (i = 0; i <= n - j ; i++)//列
 {
 printf(" ");
 }
 for (i = 0; i <= j; i++)
 {
 printf("* ");
 }
 printf("n");
 }
 }
 return 0;
}

//打印三角形—6
#include<stdio.h>
int main()
{
 int j = 0, i = 0, n;
 while (~scanf("%d", &n))
 {
 for (j = 0; j < n; j++)//行
 {
 for (i = 0; i < j; i++)//列
 {
 printf(" ");
 }
 for (i = 0; i < n - j; i++)
 {
 printf("* ");
 }
 printf("n");
 }
 }
 return 0;
}

现在就可以尝试一下图形的挖空了

我们仍然保持之前的顺序从正方形到三角形:

//空心正方形
#include<stdio.h>
int main()
{
 int j = 0,i=0;
 int n;
 while (~scanf("%d", &n))
 {
 for (j = 0; j < n; j++)
 {
 for (i = 0; i < n; i++)
 {
 if (j == 0 || i==0 ||j==n-1 || i==n-1)
  printf("* ");
 else
  printf(" ");
 }
 printf("n");
 }
 }
}
//空心三角形
#include<stdio.h>
int main()
{
 int n;
 int i = 0, j = 0;
 while (~scanf("%d", &n))
 {
 for (i = 0; i < n; i++)
 {
 for (j = 0; j <= i; j++)
 {
 if (j == 0 || i == j || i==n-1 )
  printf("* ");
 else
  printf(" ");
 }

 printf("n");
 }
 }
}

那么我们可以从以上知识尝试一下自己打出一个菱形以及空心菱形

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>
int main()
{
 int i = 0, j = 0;
 int n;
 while (~scanf("%d", &n))//在这的n我们必须保证是奇数
 {
 for (i = 0; i < n; i++)
 {
 for (j = 0; j < abs(n / 2 - i); j++)
 printf(" ");
 for (j = 0; j < n - 2 * abs(n / 2 - i); j++)
 printf("*");
 printf("n");
 }
 }
 return 0;

为了更好的理解,笔者微微修改了以上代码

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>
#include<Windows.h>
int main()
{
 int i = 0, j = 0;
 int n;
 while (~scanf("%d", &n))
 {
 for (i = 0; i < n; i++)
 printf("%2d",i);
 printf("n");
 for (i = 0; i < n; i++)
 {
 
 for (j = 0; j < abs(n / 2 - i); j++)
 {
 printf(" ");
 Sleep(100);
 }
 for (j = 0; j < n - 2 * abs(n / 2 - i); j++)
 {
 printf("* ");
 Sleep(100);
 }
 printf("n");
 Sleep(100);
 }
 }
 return 0;
}

此外在提供一个打印菱形的代码

#include<stdio.h>
int main()
{
    int i, j, n;
    {
         while (~scanf("%d", &n))
         {//上边部分
             for (i = 0; i < n; i++)
             {
                 for (j = i; j < n - 1; j++)
                      printf(" ");
                 for (j = 0; j < 2 * i + 1; j++)
                      printf("*");
                 printf("n");
             }
             for (i = n - 2; i >= 0; i--) //这里i从n-2开始的,要是从n-1开始会出现两行相同的情况
             {
                 for (j = i; j < n - 1; j++)
                      printf(" ");
                 for (j = 0; j < 2 * i + 1; j++)
                      printf("*");
                 printf("n");
             }//下边部分
         }
         return 0;
    }
}

当然,肯定要在这给几个笔者参考过的文章

参考: https://www.uoften.com/article/202654.htm

在这笔者再提供一个由字符组成的三角形

#include<stdio.h>

int main()
{
 int i, j, n, k = 0;
 char ch = 'A';
 printf("请输入行数:");
 scanf("%d", &n);
 for (i = 0; i < n; i++)
 {
 for (j = 0; j < 2*(n-i)-1; j++)
 {
 k++;
 if (k % 2 != 0)
 {
 printf("%c", ch++);
 }
 else
 printf("%c", ch);
 }
 printf("n");
 }
 return 0;
}

最后可以大家可以尝试一下自己打印空心菱形以及由字符构成的图形

到此这篇关于利用C语言如何实现一些简单图形打印的文章就介绍到这了,更多相关C语言简单图形的打印内容请搜索靠谱客以前的文章或继续浏览下面的相关文章希望大家以后多多支持靠谱客!

最后

以上就是潇洒方盒为你收集整理的利用C语言如何实现一些简单图形的打印的全部内容,希望文章能够帮你解决利用C语言如何实现一些简单图形的打印所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(77)

评论列表共有 0 条评论

立即
投稿
返回
顶部