Как распечатать результат цикла? - PullRequest
2 голосов
/ 26 августа 2010

Как распечатать результаты из цикла?

Например, если у меня есть что-то простое, как это:

k[0]=2;
k[1]=3;
k[2]=4;

for (i = 0 ; i <= 2 ; i++)
{
    x[i]=5*k[i];
}

Как распечатать результаты для x [0], x [1], x [2] без необходимости повторять массив в printf? Как в

printf("%d %d %d\n",x[0],x[1],x[2]);

Я действительно не хочу делать printf выше, потому что для моей задачи у меня фактически есть массив из 100 значений, я не могу повторять x [0], x [1] ... сто раз.

Надеюсь, кто-нибудь может помочь, спасибо, грузы!

Ответы [ 7 ]

8 голосов
/ 26 августа 2010

Может быть, это:

for (j = 0; j < 100; j++) {
    printf ("%d ",x[j]);
}
printf ("\n");
3 голосов
/ 26 августа 2010

Вы можете поместить printf в цикл. Если вы не поместите «\ n» в printf, следующий printf будет в той же строке. Затем, когда вы закончите с циклом, printf просто новая строка.

Не существует спецификатора типа printf для массива, вы должны циклически проходить по элементам массива и печатать их по одному.

2 голосов
/ 26 августа 2010

Вы должны поместить оператор printf в цикл:

k[0]=2; 
k[1]=3; 
k[2]=4; 

for (i = 0 ; i <= 2 ; i++) 
{ 
    x[i]=5*k[i]; 
    printf("%d ", x[i]);
} 

printf("\n");
2 голосов
/ 26 августа 2010

Почему вы не можете распечатать их, обходя цикл?

for (i = 0 ; i <= 2 ; i++)
{
    x[i]=5*k[i];
    printf("%d ", x[i]);
}
printf("\n");

Кроме того, под ним может быть еще один цикл, который объединяет результаты в одну строку для вывода.

1 голос
/ 26 августа 2010

Вы сохранили 100 чисел в массиве и хотите отобразить одно и то же.

Говоря простым языком, мы можем сказать, что массив - это набор элементов похожих типов.

Для этого вы должны сначала объявить размер массива, предположив, что вы объявили массив как x [100], затем он будет хранить 100 чисел с индексом от 0 до 99 или вы можете сделать то же самое, объявив каждую переменную как x [0] = 20, x [1] = 30 ....... x [99] = 98, но это займет больше времени. Так что лучше, если вы сделаете следующее.

Принять значения

int x[100];    
 int index;
 for(index=0;index<100;index++)
 {
        printf("\nEnter %d number:",index+1);
        scanf("%d",x[i]);
  }

Дисплей

for(index=0;index<100;index++)

{

printf("\nArray element at index %d is %d",index,x[i];

}

Это вам поможет.

0 голосов
/ 26 августа 2010
#include <stdio.h>
#define FOR_PRINT(index, array, size, format) \
    { \
        for(index = 0; index < size; ++index){ \
            printf(format, array[index]); \
        } \
        printf("\n");
    } \

int main(){
    int array [] = {1,2,3};
    int i;
    FOR_PRINT(i, array, 3, "%d ");
    return (0);
}

Для этого всегда можно использовать MACRO .

Мой предыдущий пример не самый безопасный и не самый читаемый пример макроса, но может стать отправной точкой для вас.

0 голосов
/ 26 августа 2010

Вы можете подумать о том, чтобы сделать это так:

k[0]=2;
k[1]=3;
k[2]=4;

for (i = 0 ; i <= 2 ; i++)
{
    x[i]=5*k[i];
    printf("%d",x[i]);
}
printf("\n");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...