输入中会有多个整数。你必须写一个 计算机程序读取每个整数并打印即使整数是 可以被2整除,否则打印奇数。为了进一步帮助,数量 要读取的整数(T)将是计算机程序的第一个输入。
输入格式:第一行输入包含整数计数:T。T> = 1 之后,每行包含整数N。
示例输入:
2 4 5
示例输出:
甚至奇怪
#include <stdio.h>
int main()
{
int i,T,a[10];/*Assuming Number of integers would be less than 10*/
printf("Enter the Number of integers\n");
scanf("%d",&T);
for(i=0;i<T;i++)
{
scanf("%d",a[i]);
printf("\n");
}
for(i=0;i<T;i++)
{
if(a[i]%2==0)
printf("Even\n");
else
printf("Odd\n");
}
return 0;
}
答案 0 :(得分:2)
你有public IQueryable<ResultsViewModel> GetResults()
{
int numberOfVotes = 0;
foreach (int IDs in GetAllPartIDs())
{
numberOfVotes = (from votes in voteDB.VoterCandidateMappings
where votes.PartyID == IDs ? true : false
select votes.VoterID).Count();
}
return (
from results in voteDB.VoterCandidateMappings
join parties in voteDB.Parties
on results.PartyID equals parties.Id
select new ResultsViewModel
{
PartyName = parties.Name,
TotalVotes = numberOfVotes
});
}
。 Scanf正在寻找一个指向整数的指针,并且你传递的是一个整数(由于你没有分配任何东西,它可能是0;还要注意零通常等于NULL)。你想要scanf("%d",a[i]);
。另请注意,您的编译器应该向您发出警告...如果使用gcc,您应该养成始终使用scanf("%d",&a[i]);
编译代码的习惯
答案 1 :(得分:1)
谢谢大家。我发现了错误并使用了动态内存 该计划的分配。这是我用过的程序。如果有人 可以帮我把代码减少到几行然后请帮忙。
#include<stdio.h>
int main()
{
int i,*ptr,t;
printf("Enter the count:");
scanf("%d",&t);
ptr=(int*)malloc(t*sizeof(int));
if(ptr==NULL)
{
printf("Memory not allocated\n");
exit(0);
}
if(t>=1)
{
for(i=0;i<t;++i)
{
printf("Enter Data:");
scanf("%d",ptr+i);
}
for(i=0;i<t;i++)
{
if((*(ptr+i))%2==0)
printf("%d is Even\n",*(ptr+i));
else
printf("%d is Odd\n",*(ptr+i));
}
}
return 0;
}