想在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++; }