我想打印下面的图案,用户输入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++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/546022.html