图形的输出

1.字母的输入

字母M的输出:

 

 

 

 

 

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int i,j,k;
 5     int m;
 6     scanf("%d",&m);
 7     for(i=1;i<=m;i++)
 8     {
 9         for(j=1;j<=2*m-1;j++)
10         {
11             if(j==2*m-1||j==1||i+j==2*m||i==j)
12             {
13                 printf("*"); 
14             }
15             else
16                 printf(" ");
17         }
18         
19     printf("\n");
20     }
21 
22 return 0;
23 }

15,16行十分重要

2.三角形的输出

直角三角形

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int i,j,k;
 5     
 6     for(i=1;i<=10;i++)
 7     {
 8         for(j=1;j<=i;j++)
 9         {
10             printf("* ");
11         }
12         printf("\n");
13     }
14 return 0;    
15 } 

2.等腰三角形

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int i,j,k;
 5     
 6     for(i=1;i<=10;i++)
 7     {
 8         for(k=0;k<10-i;k++)
 9         {
10             printf(" ");
11         }
12         
13         for(j=1;j<=i;j++)
14         {
15             printf("* ");
16         }
17         printf("\n");
18     }
19 return 0;    
20 } 

 

3.菱形

思路:先是打印上面的一部分,然后再输出下面的一部分

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int i,j,k;
 5     int m;
 6     scanf("%d",&m); 
 7 
 8     for(i=1;i<=m;i++)
 9     {
10         for(k=0;k<m-i;k++)
11         {
12             printf(" ");
13         } 
14         
15         for(j=1;j<=i;j++)   //这里是限制每一行中打印的*数 
16         {
17             printf("* ");
18         }
19         printf("\n");
20     }
21     
22     for(i=0;i<m-1;i++)
23     {
24         for(k=0;k<=i;k++)
25         {
26             printf(" ");
27         }
28         
29         for(j=0;j<m-i-1;j++)
30         {
31             printf("* ");
32         } 
33         printf("\n");
34     }
35 return 0;    
36 } 

 

总结:

1.如果是要输出字母的话,就要用else  printf(" ");

2.等腰三角形:在打印直角三角形的情况下,加上"  "

" "就要观察每一行需要多少,可以利用函数的思想

3.把" "看做是空格键(我以前就是以为是覆盖效果)

4.两个for的核心思想

i看做是行   j看做是列

那么i与j是可以控制输出图形的

 

posted @ 2022-03-03 16:43  黑衣侠客  阅读(131)  评论(0编辑  收藏  举报