首頁  >  文章  >  後端開發  >  C程式輸入一個由空格分隔的整數序列的陣列

C程式輸入一個由空格分隔的整數序列的陣列

PHPz
PHPz轉載
2023-08-25 11:33:083293瀏覽

C程式輸入一個由空格分隔的整數序列的陣列

問題陳述

寫一個C程序,以空格分隔的整數作為陣列輸入。

Sample Examples

輸入

1 2 3 4 5

輸出

‘Array elements are -’ 1, 2, 3, 4, 5

Explanation

的中文翻譯為:

解釋

輸入包含5個以空格分隔的整數。

輸入

99 76 87 54 23 56 878 967 34 34 23

輸出

‘Array elements are -’ 99, 76, 87, 54, 23, 56, 878, 967, 34, 34, 23

Explanation

的中文翻譯為:

解釋

輸入包含11個以空格分隔的整數。

方法一

在這個方法中,我們將把輸入中的以空格分隔的整數儲存在單維數組中。

演算法

  • 步驟 1 − 建立一個特定長度的陣列。在這裡,我們建立了一個長度為100的陣列。

  • 第二步驟 - 在輸入框中,我們要求使用者輸入以空格分隔的元素。

  • 第三步驟 - 我們使用scanf()函數接受整數輸入,並將其儲存在陣列的「current index」索引位置。

  • 第四步 - 我們繼續接受輸入,直到使用者按下回車鍵或輸入總共100個元素。

  • 第五步 - 遍歷陣列並列印所有元素。

Example

#include <stdio.h>
int main(){
   int currentIndex = 0;
   // Initialize an array
   int arr[100];
   printf("Enter maximum 100 numbers and stop\n");
   // Take input, and stop the loop if the user enters a new line or reaches 100 elements
   do{
      // store an array index
      scanf("%d", &arr[currentIndex++]);
   } while (getchar() != '\n' && currentIndex < 100);
   // change the size of the array equal to the number of elements entered.
   arr[currentIndex];
   // Print the array elements
   printf("Array elements are: ");
   for (int i = 0; i < currentIndex; i++) {
      printf("%d, ", arr[i]);
   }
   return 0;
}

輸出

Enter maximum 100 numbers and stop
1 2 3 4 5 6 7 8
Array elements are: 1, 2, 3, 4, 5, 6, 7, 8,
  • 時間複雜度 - 從輸入取出N個元素的時間複雜度為O(N)。

  • 空間複雜度 - 在陣列中儲存N個元素的空間複雜度為O(N)。

方法2(將陣列輸入到二維數組中)

In this approach, we will take space separated integer values as input and store them in a 2D array. We can take space separated integers as input as we did in the first approach . .

演算法

  • 步驟 1 − 建立一個 2D 陣列。

  • 第二步 - 使用兩個巢狀迴圈來管理2D陣列的索引。

  • 第三步 - 要求使用者透過空格分隔輸入數組元素。

  • 第4步 − 從輸入中取得元素,並將其儲存在2D陣列的特定索引位置。

  • 第5步 - 使用兩個巢狀循環列印一個2D陣列。

Example

#include <stdio.h>
int main(){
   int currentIndex = 0;
   //    taking input from 2d array
   int array[3][3];
   printf("Enter 9 values for 3x3 array : \n");
   for (int i = 0; i < 3; i++) {
      for (int j = 0; j < 3; j++) {
         scanf("%d", &array[i][j]);
      }
   }
   printf("Array values are : \n");
   //    printing 2d array
   for (int i = 0; i < 3; i++)  {
      printf("\n");
      for (int j = 0; j < 3; j++) {
         printf("%d ", array[i][j]);
      }
   }
   return 0;
}

輸出

Enter 9 values for 3x3 array : 
1 2 3 4 5 6 7 8 9
Array values are : 

1 2 3 
4 5 6 
7 8 9
  • 時間複雜度 - O(N*M),其中N是行的總數,M是列的總數。

  • 空間複雜度 − O(N*M)

結論

我們學會了將以空格分隔的整數作為輸入,並將它們儲存在陣列中。此外,我們也學會了將以空格分隔的輸入元素儲存在多維數組中。使用者可以從使用者輸入中以任何類型的以空格分隔的元素作為數組。

以上是C程式輸入一個由空格分隔的整數序列的陣列的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除