想在C中使用while创建菱形

want to create diamond shape using while in C

本文关键字:创建 while 想在      更新时间:2023-10-16

我已经使用for循环创建了菱形,但我无法将其转换为While。

你能帮我用While循环实现同样的目标吗?我试过几次while循环,但它运行的时间是无限的。

#include<stdio.h>
#include<conio.h>
int main() {
    clrscr();
    int i, j, k;
    for(i=1;i<=2;i++) {
        for(j=i;j<5;j++) {
            printf(" ");
        }
        for(k=1;k<(i*2);k++){
            printf("*");
        }
        printf("n");
    }
    for(i=3;i>=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++;
}