C程序输入一个由空格分隔的整数序列的数组

2023年 8月 27日 99.2k 0

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
int main(){
int currentIndex = 0;
// Initialize an array
int arr[100];
printf("Enter maximum 100 numbers and stopn");
// 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 and manage array indexes to store elements in a 2D array.

算法

  • 步骤 1 − 创建一个 2D 数组。

  • 第二步 - 使用两个嵌套循环来管理2D数组的索引。

  • 第三步 - 要求用户通过空格分隔输入数组元素。

  • 第4步 − 从输入中获取元素,并将其存储在2D数组的特定索引位置。

  • 第5步 - 使用两个嵌套循环打印一个2D数组。

Example

#include
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程序输入一个由空格分隔的整数序列的数组的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论