Open In App

C program to input an array from a sequence of space-separated integers

Last Updated : 15 Jul, 2021
Like Article

Given a string S consisting of space-separated integers, the task is to write a C program to take the integers as input from the string S and store them in an array arr[].


Input: S = “1 2 3 4”
Output: {1, 2, 3, 4}

Input: S = “32 12”
Output: {32, 12}

Approach: The idea is to solve the given problem is to use getchar() function to check if a ‘\n’ (newline) occurs is found while taking input and then stop the input. Follow the step below to solve the given problem:

  • Initialize a variable, say count, which is used to store the index of the array element.
  • Initialize an array arr[] of size 106 to store the elements into the array.
  • Iterate using a do-while loop until newLine occurs and perform the following steps:
    • Store the current value at index count as scanf(“%d “, &arr[count]); and increment the value of count.
    • If the next character is not endline, then continue. Otherwise, break out of the loop.
  • After completing the above steps, print the elements stored in the array.

Below is the implementation of the above approach:


// C program for the above approach
#include <stdio.h>
// Driver Code
int main()
    // Stores the index where the
    // element is to be inserted
    int count = 0;
    // Initialize an array
    int a[1000000];
    // Perform a do-while loop
    do {
        // Take input at position count
        // and increment count
        scanf("%d", &a[count++]);
        // If '\n' (newline) has occurred
        // or the whole array is filled,
        // then exit the loop
        // Otherwise, continue
    } while (getchar() != '\n' && count < 100);
    // Resize the array size to count
    // Print the array elements
    for (int i = 0; i < count; i++) {
        printf("%d, ", a[i]);
    return 0;


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads