2014-10-20 3 views
0

Я написал код, и он дает мне точный результат, который я хочу, за исключением одной вещи: целые числа alignment на выходе слева направо, но мне нужно, чтобы это было справа налево.Вывод правильного выравнивания

Вот мой код:

#include <stdio.h> 

int main() 
{ 

int cols, rows, i,j,num; 

scanf("%d %d",&rows, &cols); 


for (i=1; i<=1; i++){ 

    for (j=0; j<=cols; j++){ 

    if (j==0) printf("\t "); 

     else { 

     num=j; 

     printf("\t%d", num); 

     } 

    } 

    printf("\n"); 

    } 


    for (i=2; i<=rows; i++){ 

    for (j=0; j<=cols; j++){ 

     if (j==0) num=i; 

     else num=power(i,j); 


     printf("\t%d", num); 

     } 

    printf("\n"); 

    } 



    return 0; 
} 

Вывод, который я получаю

My output


Требуемая мощность составляет

Required Output

+0

Используйте спецификаторы ширины поля в спецификаторах формата printf вместо того, чтобы пытаться явно помещать пробел. –

+1

Нет, больше скриншотов из текста! –

+1

'' \ t% d "' -> '"% 8d "', 'printf (" \ t ");' -> 'printf ("% 8s "," ");' – BLUEPIXY

ответ

1

Использование, например. %6d в спецификаторе формата printf() и не использовать вкладки.

См. the manual для синтаксиса спецификатора формата. Ширина поля является стандартной функцией.