我想在C中打印这个模式:
* * * * * * * * * *
我提出了类似的事情,但它没有完全一致,看到这个:
* * * * * * * * * * * * * * *
这有点倾向于右边。 我认为我有关于间隔星星的概念是正确的,但有些事情是错误的,有人可以帮我解决这个问题吗?
这是我的代码:
#include int main() { int sp, st, i, j, k; printf("Enter rows: "); scanf("%d", &st); sp = st * 2; for(i = 1; i <= st; i++) { for(j = 1; j <= i; j++) { if(j == 1) for(k = 1; k <= sp - i*2; k++) printf(" "); printf(" * "); } printf("n"); } }
请注意,sp =空格数,st =最后一行中的星数
printf(" * ");
你应该只打印一个空格,可能是"* "
for(k = 1; k <= sp - i*2; k++)
将其更改为k < sp - i*2;
因为你在开始时打印的空间太多了。
此外,这在技术上并不是错误的,但我认为你应该将你的第三个for循环(带有k
循环)拉出你的第二个for循环。 你不需要对第二个for循环的每次迭代都进行检查,因为它只是打印初始空格。
这完全适用:
void main() { int i = 0, j = 0, k; for (i = 0; i < 17; i++) { for (k = 16; k >= i; k--) { printf(" "); } for (j = 0; j <= (i); j++) { printf("* "); } printf("n"); } getch(); }
以上就是c/c++开发分享Pascal Triangle就像C中的星形图案相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/522218.html