c语言简单图形编辑,c语言实现一些简单图形的打印

本文介绍如何使用C++编程打印线段、正方形、多种三角形及其空心版本。通过循环和条件判断,展示了不同图形的输出方法,包括菱形和空心菱形的实现。此外,还提供了字符构成的三角形代码,为读者提供图形编程的基础知识。
摘要由CSDN通过智能技术生成

1 #define _CRT_SECURE_NO_WARNINGS 1

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

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

1 //打印自定义长度的线段

2 #include

3 intmain()

4 {

5 int i = 0;

6 intn;

7 while (~scanf("%d", &n))

8 {

9 for (i = 0; i < n; i++)

10 printf("* ");

11 printf("\n");

12 }

13 return 0;

432d62e2dd8ba4ce9cbd5a77b82c0c0a.png

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

首先我们从正方形开始:

1 //打印自定义边长的正方形

2 #include

3 intmain()

4 {

5 int j = 0, i = 0;

6 intn;

7 while (~scanf("%d", &n))

8 {

9 for (i = 0; i < n; i++)//控制行

10 {

11 for (j = 0; j < n; j++)//控制列

12 printf("* ");

13 printf("\n");

14 }

15 }

16 return 0;

17 }

839f861e31db1e74fdda6dfd86f7f13b.png

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

1 //打印三角形—1

2 #include

3 intmain()

4 {

5 int j = 0, i = 0, n;

6 while (~scanf("%d", &n))

7 {

8 for (j = 0; j < n; j++)//行

9 {

10 for (i = 0; i < n - j; i++)//列

11 {

12 printf("* ");

13 }

14 printf("\n");

15 }

16 }

17 return 0;

18 }

19

20 //打印三角形—2

21 #include

22 intmain()

23 {

24 int j = 0, i = 0, n;

25 while (~scanf("%d", &n))

26 {

27 for (j = 0; j < n; j++)//行

28 {

29 for (i = 0; i <= j; i++)//列

30 {

31 printf("* ");

32 }

33 printf("\n");

34 }

35 }

36 return 0;

37 }

38

39 //打印三角形—3

40 #include

41 intmain()

42 {

43 int j = 0, i = 0, n;

44 while (~scanf("%d", &n))

45 {

46 for (j = 0; j < n; j++)//行

47 {

48 for (i = 0; i < n - j - 1; i++)//列

49 {

50 printf(" ");

51 }

52 for (i = 0; i <= j; i++)

53 {

54 printf("* ");

55 }

56 printf("\n");

57 }

58 }

59 return 0;

60 }

61

62 //打印三角形—4

63 #include

64 intmain()

65 {

66 int j = 0, i = 0, n;

67 while (~scanf("%d", &n))

68 {

69 for (j = 0; j < n; j++)//行

70 {

71 for (i = 0; i < j ; i++)//列

72 {

73 printf(" ");

74 }

75 for (i = 0; i < n - j ; i++)

76 {

77 printf("* ");

78 }

79 printf("\n");

80 }

81 }

82 return 0;

83 }

84

85 //打印三角形—5

86 #include

87 intmain()

88 {

89 int j = 0, i = 0, n;

90 while (~scanf("%d", &n))

91 {

92 for (j = 0; j < n; j++)//行

93 {

94 for (i = 0; i <= n - j ; i++)//列

95 {

96 printf(" ");

97 }

98 for (i = 0; i <= j; i++)

99 {

100 printf("* ");

101 }

102 printf("\n");

103 }

104 }

105 return 0;

106 }

107

108 //打印三角形—6

109 #include

110 intmain()

111 {

112 int j = 0, i = 0, n;

113 while (~scanf("%d", &n))

114 {

115 for (j = 0; j < n; j++)//行

116 {

117 for (i = 0; i < j; i++)//列

118 {

119 printf(" ");

120 }

121 for (i = 0; i < n - j; i++)

122 {

123 printf("* ");

124 }

125 printf("\n");

126 }

127 }

128 return 0;

129 }

4b2ad5872731e14bf7c0be9ba1f85639.png  

d867c8b6061717af8216baf0e6b95809.png   

1e7caf4e11f8fbeb294b0c830940c351.png   

0544f2ad09c3bfd3f74fc675f20159e5.png   

11018f9769edd227c47fa49ef02f7195.png   

90bbd264b08fe55f56696769c1b5c453.png

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

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

//空心正方形

#include

intmain()

{

int j = 0,i=0;

intn;

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("* ");

elseprintf(" ");

}

printf("\n");

}

}

}

1 //空心三角形

2 #include

3 intmain()

4 {

5 intn;

6 int i = 0, j = 0;

7 while (~scanf("%d", &n))

8 {

9 for (i = 0; i < n; i++)

10 {

11 for (j = 0; j <= i; j++)

12 {

13 if (j == 0 || i == j || i==n-1)

14 printf("* ");

15 else

16 printf(" ");

17 }

18

19 printf("\n");

20 }

21 }

22 }

c476dcf85d03a624932f9c2e887fe66a.png   

0354020307a18df1199f6e8d2091a9a9.png

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

1 #define _CRT_SECURE_NO_WARNINGS 1

2 #include

3 #include

4 intmain()

5 {

6 int i = 0, j = 0;

7 intn;

8 while (~scanf("%d", &n))//在这的n我们必须保证是奇数

9 {

10 for (i = 0; i < n; i++)

11 {

12 for (j = 0; j < abs(n / 2 - i); j++)

13 printf(" ");

14 for (j = 0; j < n - 2 * abs(n / 2 - i); j++)

15 printf("*");

16 printf("\n");

17 }

18 }

19 return 0;

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

#define _CRT_SECURE_NO_WARNINGS 1#include#include#include

intmain()

{

int i = 0, j = 0;

intn;

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

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;

}

}

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

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

#include

intmain()

{

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++);

}

elseprintf("%c", ch);

}

printf("\n");

}

return 0;

}

c9d30697f600dc94f48d9f488412ddca.png

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值