📌  相关文章
📜  C程序从空格分隔的整数序列输入数组(1)

📅  最后修改于: 2023-12-03 15:00:12.821000             🧑  作者: Mango

C程序从空格分隔的整数序列输入数组

C语言中,可以通过scanf()函数来从标准输入流中读取输入。对于一个以空格分隔的整数序列,我们可以通过循环调用scanf()函数来输入数组。下面是代码示例:

#include <stdio.h>

#define MAX_SIZE 100

int main()
{
    int arr[MAX_SIZE], i, n;
    
    printf("Enter the size of the array: ");
    scanf("%d", &n);
    
    printf("Enter %d elements of the array: ", n);
    
    for(i=0; i<n; i++)
        scanf("%d", &arr[i]);
    
    printf("Elements of array are: ");
    for(i=0; i<n; i++)
        printf("%d ", arr[i]);
    
    return 0;
}

在这个代码中,我们首先输入数组的大小n,然后循环n次,通过scanf()函数输入数组的每一个元素。

这个程序的输出将会是输入的整数序列,如下所示:

Enter the size of the array: 5
Enter 5 elements of the array: 1 2 3 4 5
Elements of array are: 1 2 3 4 5

你可以尝试输入不同的整数序列,例如:

Enter the size of the array: 7
Enter 7 elements of the array: 5 4 3 2 1 6 7
Elements of array are: 5 4 3 2 1 6 7

需要注意到的一点是,这个程序没有对输入的数字进行校验和容错处理。因此如果输入的数字个数大于数组的大小,会导致数组越界访问错误。如果输入的数字不是整数,也会导致错误。

因此,为了让这个程序更加稳健,我们需要添加一些校验和容错处理的代码。例如,我们可以使用fgets()函数从标准输入流中读取一行,然后再使用sscanf()函数从字符串中解析出每个整数。这样就能够避免数组越界等问题,同时也更容易发现输入格式错误的情况。你可以尝试编写一个带有校验和容错处理的代码来加强这个程序的稳健性。