想在C中使用while创建菱形

我使用for循环创建了钻石,但我无法将其转换为While。

你能帮助我用While循环来实现同样的目标吗? 我尝试了几次循环,但它正在运行无限时间。

#include #include int main() { clrscr(); int i, j, k; for(i=1;i<=2;i++) { for(j=i;j<5;j++) { printf(" "); } for(k=1;k=1;i--){ for(j=5;j>i;j--) { printf(" "); } for(k=1;k<(i*2);k++) { printf("*"); } printf("\n"); } getch(); } 

看看你的代码实现while循环看看有什么问题会有所帮助,但是将for循环转换为while循环的一般解决方案是这样的:

 for(i=1;i<=2;i++) { /*your code*/ } 

 i = 1; while(i<=2) { /*your code*/ i++; } 

确保您的迭代器和递减器位于正确的位置。

您可以尝试将初始化放在循环的前面,循环结束时的递增/递减,并保持条件不变。 例如

 for(k=1;k<(i*2);k++) { printf("*"); } 

翻译成

 k=1; while(k<(i*2)){ printf("*"); k++; }