c语言判断小数
1. 在c语言中要怎么来判断整数和小数啊比如说当在输入浮点型数据的时候我要提醒它出错要怎么做
#include
#include
#include
//char*strchr(constchar*str,intch);
intmain(intargc,char*argv[])
{
inta=0;
doubleb=0;
charstr[10]="";
scanf("%s",str);//先存成字符串
if(NULL==strchr(str,'.'))//等于NULL是没有找到小数点
{
sscanf(str,"%d",&a);//再从字符串格式化成整型
printf("输入的是整型:%d ",a);
}
else
{
sscanf(str,"%lf",&b);//再从字符串格式化成浮点型
printf("输入的是浮点型:%lf ",b);
}
system("PAUSE");
return0;
}
(1)c语言判断小数扩展阅读
C语言判断数字为几位数
#include <stdio.h>
int main()
{
long long n;
int count = 0;
printf("输入一个整数: ");
scanf("%lld", &n);
while(n != 0)
{
// n = n/10
n /= 10;
++count;
}
printf("数字是 %d 位数。", count);
}
2. C程序中,如何判断一个数是否为小数
#include<stdio.h>
void main()
{
float a,c;
int b;
scanf("%f",a);
b=a;
c=b;
if(a!=c)printf("输入的数字是小数\n");
else printf("输入的数字是整数\n");
}
3. C语言中如何区别小数和整数
C语言中有int
,lang,float,double,其中整形有lang和int,lang是长整形,float是单精度浮点型,double是双精度浮点型,浮点型就是小数,整形就是整数,明白了吗?
4. C语言如何判断一个小数的小数点后有几位
除非是从输入的时候就存成字符串, 然后判断小数点后的位数。
一旦存成浮点型变量,不管是double还是float都是近似值,
这时就无法准确判断有几位了。
5. C语言 请问怎么识别变量的小数位数
c语言里面,默认%f是小数点后6位,如果想小数点后面16位,写成%.16lf
不会自动四舍五入的,double是一个近似值,通常没有办法做的很精确.
通常能精确到小数点后面6位,也就是说超过6位可能就不准了。
6. 如何用C语言判断一个小数的小数点后面有几位,思路
可以通过定义一个double型的变量,并对变量进行赋值,之后输出该变量的值即可。
下面举例来具体说明:<pre t="code" l="cpp">double f = 3.141592653589;
printf(;%lf;, f);实验结果输出3.141593,说明double型能精确到小数点后6位。
注:该测试是在32位计算机中的VS2010环境下运行的,具体的精确度还要考虑计算机的位数与编译环境。
7. C语言输出自动识别是否是小数怎么搞
%f输入变量float后,一定是0.000000的形式,因为这个是浮点数的形式。要想把他换成你想要的形式,先转成char*,然后判断if('0'
==
char)吧,没什么办法,而且输出后也要是字符串,计算机里好像没有3.3,3.33,3.333这样的数,都是自动补齐的。
8. C语言如何判断一个小数的小数点后有几位
利用整数的截断效果,将数据小数部分单取出来,乘以10后取整,与原数比较,若不等,则判断大于小数点后1位,依此计算直到相等为止。
在取整时进行小数点后1位四舍五入可部分防止二进制浮点数与真实数据间的舍入误差问题。
9. c语言如何判断一个字符串中是否有小数点
#include<stdio.h>
int main()
{
char str[100];
int i,j=0;
printf("please input:");
scanf("%s",str);
for(i=0;i<sizeof(str)/sizeof(char);i++)
{
if(str[i]=='.')
{
j++;
}
}
printf("该字符串有小数点%d个\n",j);
return 0;
}
希望能帮到你
10. 在c语言中要怎么来判断整数和小数
你看一下这个方法符不符合你的要求
12.000算整数吧,只是后面多几个零
#include<stdio.h>
void main()
{
float num;
int NB;
printf("输入一个数");
scanf("%f",&num);
NB=(int)num;
while(1)
{
if((num-NB)!=0)
{
printf("\n您输入的是小数,请重新输入:");
scanf("%f",&num);
NB=(int)num;
}
else
{
break;
}
}
printf("\nnum=%f",num);
}