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;
}
但是不行啊,他还是在我输入一个数后,回车,然后他就弹出结果了 展开
例如
输入
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;
}
但是不行啊,他还是在我输入一个数后,回车,然后他就弹出结果了 展开
3个回答
展开全部
通过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中要处理字符的个数。
}
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中要处理字符的个数。
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |