c语言里面怎么输入多行数据?并且以输入0结束,输入0后才对输入数据进行处理

例如我要输入多行,每行输入一个整数,以0结束,如果输入偶数的话就输出“NoSolution!”,输入奇数的话就输出“n-1”例如输入540输出奇数偶数大家看看我的程序有什... 例如我要输入多行,每行输入一个整数,以0结束,如果输入偶数的话就输出“No Solution!”,输入奇数的话就输出“n-1”
例如
输入
5
4
0
输出
奇数
偶数
大家看看我的程序有什么问题
#include<stdio.h>
int main()
{
int n;
while(scanf("%d",&n),n)
{
if(n%2!=0)
printf("%d\n",n-1);
else printf("No Solution!\n");
}
return 0;
}
但是不行啊,他还是在我输入一个数后,回车,然后他就弹出结果了
展开
 我来答
luyixie
2010-01-22 · TA获得超过374个赞
知道答主
回答量:36
采纳率:0%
帮助的人:29.4万
展开全部
通过getchar()得到每次输入的字符,如果不是0就存入一个buffer中,如果是0就跳出循环:

int n=0;//记录buffer中要处理字符的个数。
char ch;
char* buffer;

buffer = malloc(sizeof(char),MAX_SIZE);//MAX_SIZE是你自己定义的宏值

while( (ch=getcahr()) != '0')
{
将ch存入buffer中,记住考虑buffer存满的情况,则用realloc重新分配内存;
n++;//记录buffer中要处理字符的个数。
}
百度网友f3a7da4
2010-01-22 · TA获得超过124个赞
知道答主
回答量:92
采纳率:0%
帮助的人:106万
展开全部
每次输入之后都判断一下,如果输入的是0就处理数据,否则继续输入数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
希望村村民
2010-01-22 · TA获得超过1589个赞
知道小有建树答主
回答量:1187
采纳率:100%
帮助的人:960万
展开全部
你的代码就是对的
我就这样写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式