c/c++开发分享如何在C中打印这个星形图案?

我想打印下面的图案,用户输入n和m(4和6),外边界应该用星星组成,里面应该用圆圈填充。

****** ****** ****** ****** *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* ****** ****** ****** ****** ****** ****** ****** ****** *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* ****** ****** ****** ****** ****** ****** ****** ****** *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* ****** ****** ****** ****** ****** ****** ****** ****** *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* *oooo* ****** ****** ****** ****** 

我写的代码如下。 我做错了什么?

 #include  #include  int main(void) { int n,i,j,k,m,n1; printf("enter table size and enter square size"); scanf("%d %d", &n, &n1); for (i = 0; i < n; i++) { for (j = 0; j < n1; j++) { for ( k = 0; k < n; k++) { for ( m = 0; m < n1; m++) { { if(i==0 || i==n-1) { printf("*"); } else if(j==0 || j==n-1) { printf("*"); } else { printf("o"); } } } printf(" "); } printf("n"); } printf("n"); } system("pause"); return 0; } 

    更正的代码是

     #include  #include  int main(void) { int n,i,j,k,m,n1; printf("enter table size and enter square size"); scanf("%d %d", &n, &n1); for (i = 0; i < n; i++) { for (j = 0; j < n1; j++) { for ( k = 0; k < n; k++) { for ( m = 0; m < n1; m++) { { if(j==0 || j==n1-1) { printf("*"); } else if(m==0 || m==n1-1) { printf("*"); } else { printf("o"); } } } printf(" "); } printf("n"); } printf("n"); } system("pause"); return 0; } 

    您的索引变量执行以下操作:

      |----------------n----------------------| |--m--| - ******* ******* ******* ******* ******* | *o ... | *o ... j *o ... | | - 

    所以基本上你必须打印*当j在每个正方形的第一行或最后一行或当m在正方形的第一行或最后一行(n1)时。

    希望这可以帮助

      以上就是c/c++开发分享如何在C中打印这个星形图案?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注(猴子技术宅)。

      本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

      如若转载,请注明出处:https://www.ssfiction.com/c-cyuyankaifa/546022.html

      发表评论

      电子邮件地址不会被公开。 必填项已用*标注