输入所有数组后,如何在C中打印数组的所有元素?

时间:2017-04-12 10:20:46

标签: c arrays

所以我在C:

中有这段代码
#include <stdio.h>

int main() {
    int a[9], number_of_elements;
    printf("Enter 10 numbers: \n");
    for (int i = 0; ((i < 10) && (a[i] != 0)); i++) {
        scanf_s("%d", &a[i]);
        if (a[i] == 0) {
            number_of_elements = i;
            break;
        }
        if (a[i] != 0) {
            number_of_elements = i + 1;
        }   
    }
    printf("There is %d elements.\n", number_of_elements);
    return 0;
}

正如你所看到的,我必须在数组中输入最多10个元素,或者在输入0时停止输入,之后我必须打印该数组的所有元素以及数组中的元素数量。除了打印数组的所有元素之外,我对所有内容进行了排序,有人可以帮我怎么做吗?

2 个答案:

答案 0 :(得分:2)

您应该使用另一个for循环,例如:

for(i=0;i<number_of_elements;i++)
{
        printf("%d ",a[i]);
}

答案 1 :(得分:0)

在实现@ rsp的代码后,我修复了我的代码。

#include <stdio.h>


int main() {

    int a[10], number_of_elements;
    printf("Enter 10 numbers: \n");
    for (int i = 0; ((i < 10) && (a[i] != 0)); i++) {

        scanf_s("%d", &a[i]);
        if (a[i] == 0) {
            number_of_elements = i;
            break;
        }
        if (a[i] != 0) {

            number_of_elements = i + 1;

        }

    }
    for (int i = 0; i<number_of_elements; i++)
    {
        printf("%d ", a[i]);
    }
    printf("\nThere are %d elements.\n", number_of_elements);
    return 0;
}

Tnx大家帮忙和tnx @George因为这么有趣:)