c语言输入如何通过回车键结束

c语言中输入一组数据后用空格键隔开并用回车键结束输入,并统计输入数据中奇数和偶数的个数

#include
void main()
{
int count1=0;
int count2=0;
int num;
char ch;
while((ch=getchar())!='\n')
{

scanf("%d",&num);
if((num%2)==0)
count2++;

if((num%2)==1)
count1++;
}
printf("奇数个数为%d,偶数个数为%d\n",count1,count2);
}
在输入数据前,要加空格

提问的版主你好:你的问题,不怎么清楚,上面这个scanf也是在回车的时候进行结束的,还有一种就是一个一个字符的接收,只有按下回车的时候你才输入停止。
你可有用malloc() 这个函数在循环接收stdin的字符,但输入‘\n’ 时whie(!n)这样就行了。

#include
void main()
{
int i,n,m,jh=0,oh=0,jg=0,og=0;
printf("请输入n的值:\n");
scanf("%d",&n);//先输入数据个数n
printf("请输入%d个数,按空格键隔开:\n",n);
for(i=0;i<n;i++)
{
scanf("%d",&m);
if(m%2!=0)
{
jh=jh+m;
jg++;
}
else
{
oh=oh+m;
og++;
}
}//利用循环输入n个数并计算
printf("\n奇数的个数:%d\n奇数的和为:%d\n偶数的个数:%d\n偶数的和为:%d\n",jg,jh,og,oh);//打印
}