Member 10651065 Ответов: 4

Как читать числа (разделенные пробелами) в массив на языке Си


пример: вход: 1 20 30 27 89

arr[0]=1
arr[1]=20
arr[2]=30



и так далее, как я могу это сделать ?

Member 10651065

и еще одно число целых чисел меньше или равно 100

Vedat Ozan Oner

:) ваше домашнее задание будет выполнено сегодня по частям.

Richard MacCutchan

Пожалуйста, не делайте репостов. У вас уже есть решение этого вопроса.

4 Ответов

Рейтинг:
2
Рейтинг:
2

Sri Harsha T

#include< stdio.h>
#include<stdlib.h>

тап_п()
{

int i, j, n;
scanf ("%d",&n); / / сканирование размера массива
инт *а = функция malloc(Н*оператор sizeof(тип int));
char temp;
для (i=0;i< n; i++) {

scanf ("%d%c", & a[i],&temp); / / сканирование как целого числа, так и пробела(в виде символа)

если(температура == '\П') // если темп == введите (\п),я.е, когда пользователь нажимает клавишу Ввод
{

for (i=0;i< n; i++) {//for цикл для печати массива выполняется
printf ("%d", a[i]);

}
}
}

}


Рейтинг:
1

Raul Iloc

Вы просто должны использовать

yourString.Split(' ');
= = & gt; массив строк, а затем преобразовать каждый из них в целые числа.

Для преобразования вы должны использовать:
int.TryParse()


Если вы используете C, вам следует прочитать следующее: http://www.cplusplus.com/forum/beginner/87238/[^]


Vedat Ozan Oner

нет, это неправильно. мы используем С.

Vedat Ozan Oner

все еще не в порядке. в C, векторах, шаблонах и т. д.

Рейтинг:
0

Krunal Rohit

Вы должны попробовать что-то вроде,

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(void)
{
char b[] = "1.5, 2.5,3.5,4.5,5.5,6.5,7.5,,,10.5,11.5,12.5,,,15.5,16.5,17.5,18.5,19.5,20.5\n";
double c[21];
char *pptr = b;
b[strlen(b)-1]=',';
for (int i = 0; i < 21; i++) {
    char *ptr = strchr(pptr, ',');
    if (ptr) {
        *ptr = 0;
        c[i] = atof(pptr);
        pptr = ptr + 1;
        }
    }

for (int i = 0; i < 20; i++){
    fprintf(stdout, "%7.2lf", c[i]);
    }
return 0;
}

-КРОНА