我编写了这个程序,它以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;
}
答案 0 :(得分:1)
scanf("%d", &a[i]);
必须:
scanf("%lld", &a[i]);
答案 1 :(得分:0)
检查内部for循环,也许你需要声明一个变量并增加它并写入if if语句,如果变量== 1则打印所需的值。 不确定但可能有用。