每次输出都相同

时间:2015-02-28 16:57:23

标签: c output

我编写了这个程序,它以n和k作为输入,然后将数组a [n]作为输入。程序必须将输出作为数组a中小于k和奇数的不同整数的总数。但是每个输入的程序都会产生0作为输出。

    #include<stdio.h>

int main()
{
    long long int n,i,j,k,temp=-1;
    scanf("%lld %lld",&n,&k);

    long long int a[n];

    for(i=0;i<n;i++)
    scanf("%d",&a[i]);

    long long int cnt=0;

    for(i=0;i<n;i++)
    {
        if(a[i]<k)
         {
         if((a[i]%2)==1)
           cnt++;}
    }


    for(i=0;i<(n-1);i++)
    {
        for(j=i+1;j<n;j++)
        {
            if(a[i]==a[j])
            {
                cnt--;
                a[j]=temp;
                --temp;
            }
        }
    }

    printf("%lld",cnt);
    return 0;
}

2 个答案:

答案 0 :(得分:1)

scanf("%d", &a[i]);

必须:

scanf("%lld", &a[i]);

答案 1 :(得分:0)

检查内部for循环,也许你需要声明一个变量并增加它并写入if if语句,如果变量== 1则打印所需的值。 不确定但可能有用。