在c语言中如何判断输入的两个数是否都是整数 10
请问:在c语言中如何判断输入的两个数是否都是整数?请指教。我用了以下编程,但发现当输入的第二个数是实数时,运行有误,#include<stdio.h>main(){int...
请问:在c语言中如何判断输入的两个数是否都是整数?请指教。
我用了以下编程,但发现当输入的第二个数是实数时,运行有误,
#include <stdio.h>
main()
{
int a,b,n;
n=scanf("%d%d",&a,&b);
if(n==2)
printf("ok");
else
printf("error!");
system("pause");
}
用%d也能输入实数啊,只不过被截尾了而已嘛。题目就是要求输入两个整数,判断输入是否正确啊。 展开
我用了以下编程,但发现当输入的第二个数是实数时,运行有误,
#include <stdio.h>
main()
{
int a,b,n;
n=scanf("%d%d",&a,&b);
if(n==2)
printf("ok");
else
printf("error!");
system("pause");
}
用%d也能输入实数啊,只不过被截尾了而已嘛。题目就是要求输入两个整数,判断输入是否正确啊。 展开
展开全部
你这样输入两个整数需要回车或达到读入数据上限才能分开。
但是,如果你真的输入两个数字,第二个是实数时,是无法输出error的,因为scanf函数读入到小数点就会自动停止输入。
如果不考虑不需要的变量的话,可以再加一个不用的变量c,这样,第二个数据的读入就可以判断了。
楼上的办法就很好。
但是,如果你真的输入两个数字,第二个是实数时,是无法输出error的,因为scanf函数读入到小数点就会自动停止输入。
如果不考虑不需要的变量的话,可以再加一个不用的变量c,这样,第二个数据的读入就可以判断了。
楼上的办法就很好。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
关键是要清楚算法,怎样编程通俗易懂且容易!
输入的时候不要定义为整型,不然数据无法读入,定义为浮点型后则都可读入。
用这个程序就可以:
#include <stdio.h>
void main()
{
float a,b;
printf("Input a and b:");
scanf("%f%f",&a,&b);
if(a-int(a)!=0)
printf("a is not zheng_shu\n");
else
printf("a is zheng_shu\n");
if(b-int(b)!=0)
printf("b is not zheng_shu\n");
else
printf("b is zheng_shu\n");
}
补充:请问我这个程序你试了没?不会出现你那样的情况。
再补充:输入格式用f%没有问题的呀,用d%就输入不了其它类型的数。
输入的时候不要定义为整型,不然数据无法读入,定义为浮点型后则都可读入。
用这个程序就可以:
#include <stdio.h>
void main()
{
float a,b;
printf("Input a and b:");
scanf("%f%f",&a,&b);
if(a-int(a)!=0)
printf("a is not zheng_shu\n");
else
printf("a is zheng_shu\n");
if(b-int(b)!=0)
printf("b is not zheng_shu\n");
else
printf("b is zheng_shu\n");
}
补充:请问我这个程序你试了没?不会出现你那样的情况。
再补充:输入格式用f%没有问题的呀,用d%就输入不了其它类型的数。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询