c语言数字长度
‘壹’ c语言一个int型到底可以表示多大的数字
其实int多大,取决于你的系统,以及编译器,你如果是16位的系统,一个int
就是16位,也就是占2个字节,无符号整数最大就是2^16,32位就是2^32,long在16位机上是32位,但是由于站位的分配,a*10^b要分成a,b两部分,所以不好说,32位机上和int一样也是32位(但是由于是科学记数所以比整形大得多)。恩就怎么多,你如果想测试你机子的,数据长度可以用
printf("
int长度=%d,long长度=%d",sizeof(int),sizeof(long));就可以知道了,不妨去试试,恩就这么多了。
‘贰’ c语言新工号求数字的最短长度
c语言新工号求数字的最短长度用带转义字符的字符串。
字符串“abc
”,其中的
为转义字符、换行符,计算字符串长度时只能计作一个字符,所以该字符串的长度为4而不是5。
‘叁’ c语言中查看小数长度
c语言中查看小数长度的方法代码如下:
1)如果按%s输入,也就是按字符串格式输入,先找到小数点的位置,然后统计下小数点后数字的长度。
具体实现可参考:
#include
#include
#include
intmain(intargc,char*argv[])
{
chara[128];
while(scanf("%s",a)!=EOF)
{
if(strstr(a,".")!=NULL)
printf("%d
",strlen(strstr(a,".")+1));
else
printf("0
");
}
system("pause");
return0;
}
2)如果按%f(对应float类型小数)或者%lf(double类型的小数)方式读入,则需要先去掉整数部分,然后看小数部分一直乘10减去整数部分,知道等于0,统计,乘了几次10,但是由于浮点数在计算机中存的并不是准确值,这个往往得不到正确的结果。可以使用sprintf(str,"%g",f);,然后由于f毕竟不是准确值,还是会出现有些问题,源码如下:
#include
#include
#include
intmain(intargc,char*argv[])
{
chara[128];
floatf;
while(scanf("%f",&f)!=EOF)
{
sprintf(a,"%g",f);
if(strstr(a,".")!=NULL)
printf("%d
",strlen(strstr(a,".")+1));
else
printf("0
");
}
system("pause");
return0;
}
%在c语言中有两种释义,一是求余符号,经常会用到判断一个数是不是能被另一个整除。二是引导符,用于引导输入输出项表列的格式。
在scanf、printf这样的函数中,将参数类型与输入/输出句子中的相应位置相对应所使用的转义标志符。%c单个字符输出的意思;%s是输出字符串;%d是输出整型;%f是输出整型。其中常用的有%c--对应字符型char%s--对应字符串型char*(char[])%d--对应整形int%ld--对应长整形long%x--对应十六进制整数,大于9的字母小写%X--对应十六进制整数,大于9的字母大写%u--对应无符号整形unsignedint。
‘肆’ C语言编程问题 如何求一个数字的长度
#include<stdio.h>
#include<string.h>
voidmain()
{
intn;
charstr[50]={'