服务器之家

服务器之家 > 正文

利用C语言如何实现一些简单图形的打印

时间:2021-10-15 13:33     来源/作者:guguguhuha

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("
");
 }
 return 0;

利用C语言如何实现一些简单图形的打印

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

首先我们从正方形开始:

//打印自定义边长的正方形
#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("
");
 }
 }
 return 0;
}

利用C语言如何实现一些简单图形的打印

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

//打印三角形―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("
");
 }
 }
 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("
");
 }
 }
 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("
");
 }
 }
 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("
");
 }
 }
 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("
");
 }
 }
 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("
");
 }
 }
 return 0;
}

利用C语言如何实现一些简单图形的打印利用C语言如何实现一些简单图形的打印 利用C语言如何实现一些简单图形的打印 利用C语言如何实现一些简单图形的打印 利用C语言如何实现一些简单图形的打印 利用C语言如何实现一些简单图形的打印

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

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

//空心正方形
#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("
");
 }
 }
}
//空心三角形
#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("
");
 }
 }
}

利用C语言如何实现一些简单图形的打印 利用C语言如何实现一些简单图形的打印

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

#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("
");
 }
 }
 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("
");
 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("
");
 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("
");
             }
             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("
");
             }//下边部分
         }
         return 0;
    }
}

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

参考: http://www.zzvips.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("
");
 }
 return 0;
}

利用C语言如何实现一些简单图形的打印

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

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

原文链接:https://www.cnblogs.com/guguguhuha/p/14162498.html

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部