Что может быть инициализация и контроль операторов? - PullRequest
0 голосов
/ 24 февраля 2019

Эту проблему необходимо решить, используя только Nested for loop и только в C.Надеюсь, вы все мне поможете.

Sample input            Sample output
3                       1___1
                        12_21
                        12321

4                       1_____1
                        12___21
                        123_321
                        1234321

Я попытался написать здесь часть своего кода.Но это не подходит для подчеркивания.

  #include<stdio.h>
  int main()
  {
     int i,n,j,m;
     scanf("%d",&n);
     int k=n;
     for(i=1;i<=n;i++)
     {
        for(j=1;j<=i;j++)
        {
           printf("%d",j);
        }
        for(m=k;m>=0;m--)
        {
           printf("_");
        }
        printf("\n");
        k=k-2;;
     }
  }  

1 Ответ

0 голосов
/ 24 февраля 2019
#include <stdlib.h>
#include <stdio.h>

int main(void)
{
    int limit;  
    for (; printf("limit: "), scanf(" %d", &limit) != 1;) {
        fputs("Input error :(", stderr);
        return EXIT_FAILURE;
    }

    for (int line = 1; line <= limit; ++line, putchar('\n')) {
        for (int i = 1; i <= line; ++i)
            printf("%d", i);
        for (int i = line + 1; i < 2 * limit - line; ++i)
            putchar('_');
        for (int i = (line == limit) ? line - 1 : line; i; --i)
            printf("%d", i);
    }
}
...