给定一个由空格分隔的整数组成的字符串S ,任务是编写一个 C 程序,将整数作为字符串S 的输入,并将它们存储在数组arr[] 中。
例子:
Input: S = “1 2 3 4”
Output: {1, 2, 3, 4}
Input: S = “32 12”
Output: {32, 12}
方法:解决给定问题的想法是使用 getchar()函数检查在输入时是否发现 ‘\n’(换行符),然后停止输入。请按照以下步骤解决给定的问题:
- 初始化一个变量,比如count ,用于存储数组元素的索引。
- 初始化大小为10 6的数组arr[]以将元素存储到数组中。
- 使用 do-while 循环进行迭代,直到出现newLine并执行以下步骤:
- 将索引计数处的当前值存储为scanf(“%d”, &arr[count]);并增加count的值。
- 如果下一个字符不是endline ,则继续。否则,跳出循环。
- 完成上述步骤后,打印数组中存储的元素。
下面是上述方法的实现:
C
// C program for the above approach
#include
// Driver Code
int main()
{
// Stores the index where the
// element is to be inserted
int count = 0;
// Initilaize 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 occured
// or the whole array is filled,
// then exit the loop
// Otherwise, continue
} while (getchar() != '\n' && count < 100);
// Resize the array size to count
a[count];
// Print the array elements
for (int i = 0; i < count; i++) {
printf("%d, ", a[i]);
}
return 0;
}
输出:
如果您想与行业专家一起参加直播课程,请参阅Geeks Classes Live