图形的输出
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是可以控制输出图形的