greato7 Ответов: 5

Программирования с таблицей Менделеева


у меня есть проблема с печатью имен элементов в массиве я использовал этот код но он не работает

#include <stdio.h>
#include <string.h>
int main()

{


int  i;
    char element[20]= { "Hydrogen", "helium", "lithium", "berrylium", "boron",
    "carbon","Nitrogen","oxygen", "flourine","neon","sodium","magnesium",
    "aluminium","silicon","phosphorus","sulphur","chlorine","argon",
    "potassium","calcium"};

for(i=0; i<20; i++)
    {
        printf("%c\n", ( element[i]));
    }
    return 0;
}

Sergey Alexandrovich Kryukov

То, что вы делаете, не имеет ничего общего с периодической таблицей.
—СА

5 Ответов

Рейтинг:
37

CPallini

Ты пропустил звезду (*):

Цитата:
элемент типа char[20]= { "водород", "гелий", "литий", "berrylium", "бор",
Должно быть
char * element[20]= { "Hydrogen", "helium", "lithium", "berrylium", "boron",




Вы выбрали неправильный формат вывода:
Цитата:
printf("%c\n", ( элемент[i]));
Должно быть
printf("%s\n", ( element[i]));


fjdiewornncalwe

+5.

CPallini

Спасибо.

H.Brydon

+5 мне тоже...

Рейтинг:
34

Filipe Marques

Если вы объявите переменные как

char element[20]

Вы выделяете массив типа char с 20 элементами.

Если вы хотите выделить массив строк, вам нужно

char* element[] = { "Hydrogen", "helium", ...};


fjdiewornncalwe

+5.

Рейтинг:
2

Member 12158657

#включить <stdio.h>
#include <string.h>
тап_п()

{
int i;
элемент типа char[20][20]={"водород", "гелий", "литий", "berrylium", "бор",
"углерод","азот","кислород", "фторин","неон","натрий","магний",
"алюминий","кремний","фосфор","сера","хлор","аргон",
"калий","кальций"};

для(i=0; i<20; i++)
{
printf("%s\n", элемент[i]);
}
возвращает 0;
}


Richard MacCutchan

Пожалуйста, не публикуйте старые вопросы, скорее всего, ОП все еще имеет какой-либо интерес к этому вопросу.

Рейтинг:
1

OriginalGriff

Попробуйте изменить:

printf("%c\n", ( element[i]));

К
printf("%s\n", element[i]);

"%c" - это один символ, "%s" - строка с нулевым завершением


Рейтинг:
1

Anil Srivastava

#include <stdio.h>
#include <string.h>
int main()

{


int  i;
    char element[20][20]= { "Hydrogen", "helium", "lithium", "berrylium", "boron",
    "carbon","Nitrogen","oxygen", "flourine","neon","sodium","magnesium",
    "aluminium","silicon","phosphorus","sulphur","chlorine","argon",
    "potassium","calcium"};

for(i=0; i<20; i++)
{
printf("%s\n", ( element[i]));
}
getch();
return 0;
}


H.Brydon

Использование "char [20][20]" не так надежно, как "char*[20]". Следуйте предложениям, приведенным в решении № 3.