整数数组中不等于其大小的元素数

时间:2016-12-06 09:18:18

标签: c++ arrays

任何想法......? 例如,

int a[50],b;  // b is for getting the input Yes or maybe no 
while(b=='Y')
{cin>>a[i];i++;cin>>b;}

并且说用户输入了25个元素。现在我必须使用一个功能,该功能应该数组和大小作为参数... 我将如何计算用户在函数内输入的元素数量..? 在这种情况下,输出应为25。

3 个答案:

答案 0 :(得分:3)

您可以使用std::liststd::vector来实现此目的。

答案 1 :(得分:0)

您最好使用计数器变量以及随每个条目递增的用户输入。然后你只需循环遍历数组中的那么多索引

int counter = 0;
int a[50];

// collect input, counter++ each time

for(int i = 0; i < counter; i++)
    cout << a[i];

使用矢量会好得多。它们会自动调整大小,因此您可以使用随附的size()函数

来打印整个内容

答案 2 :(得分:-1)

使用计数器变量计算数组元素的数量。

例如:

此处数组大小为50,但元素数量为10

#include<stdio.h>

int main()
{
    int i,cnt = 0; 
    int arr[50] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    for (i = 0; arr[i] != '\0'; i++)
    {
        cnt++;
    }
    printf("%d\n",cnt);
}