Использование цикла для печати треугольника

Задача состоит в том, чтобы напечатать следующую форму, используя while только петля.

*
**
***
****
*****
******
*******
********
*********

Следующий код - это то, что я уже пробовал, но, к сожалению, он не работает:

#include "stdafx.h"//Visual Studio 2015
#include <stdio.h>
#include <stdlib.h>// using for command system("pause") ;
#include <math.h>


    int main()
    {
        int i=0, k=0;
        while (i < 10)
        {
            while (k <= i)
            {
                printf("*");
                k++;
            }
            printf("\n");
            i++;
        }
        system("pause");
        return 0;
    }

Я не могу отлаживать это сам. Может ли кто-нибудь отладить это для меня?

2 ответа

Решение

Вы должны поставить k=0 внутри цикла, чтобы он возвращался к нулю в каждом цикле.

    int main() {
        int i=0, k=0;
        while (i < 10)
        {
            k=0; //<-- HERE
            while (k <= i)
            {
                printf("*");
                k++;
            }
            printf("\n");
            i++;
        }
        system("pause");
        return 0;
    }

Требуется лишь небольшая коррекция

int i=0; 
    while (i < 10)
    {
    int k=0;
        while (k <= i)
        {
            printf("*");
            k++;
        }
        printf("\n");
        i++;
    }

Рабочий пример

Другие вопросы по тегам