C语言求整数长度或多少位
#include
#include
#include
int main()
{
char s[100];
scanf("%s",s);
printf("这个整数是%d位的
",strlen(s));
return 0;
}
/*功能:输入一个任意长度的正整数,求出它是几位数。*/
#include
int main()
{
int number;int count = 0;//记录个数
scanf("%d", &number);
if (number == 0)
{
printf("number is %d
",count+1);//0是一位数
}else
{
while (number != 0)
{
number = number / 10;
count++;
}printf("number is %d", count);
}return 0;
}
下面用两种方法计算。负数有个符号位,长度比位数多 m=1。
占内存的大小用sizeof(int) 可得,通常 32位机为4字节,64位机为8字节。
例如:
#include <stdio.h>
int main(){
int a=123456;
int n,m=0;
char s[60];
if (a<0) m=1;
sprintf(s,"%d",a);
n = strlen(s);
printf("a has digit %d length %d\n",n-m,n);
n=0;
while (1){
a = a/10;
n++;
if (a==0)break;
}
printf("a has digit %d length %d\n",n,n+m);
printf("int has %d bytes\n",sizeof(int) );
return 0;
}
可以使用数学函数(int)log10(a)+1;
语言包含头文件math.h
也可以自定义函数
int bitcount(int n)
{
int bit = 1;
while(n >= 10 || n <= -10)
{
bit++;
n /= 10;
}
return bit;
}
在C语言中一般的整数占两个字节,长整型占四个字节。所以我们在定一些比较大的数字时,应该用长整型。整数还分有符号和无符号。也就是说无符号的只表示正数,有符号的可以表示正数和负数。
便捷的方法,使用字符串化和求长度:
#include <stdio.h>
#include <string.h>
int main() {
int num = 123456, len;
char str[16];
sprintf(str, "%d", num);
len = strlen(str);
if (num < 0) --len; /* 判断负数 */
printf("length:%d\n", len);
return 0;
}
它可以通过这样的方法求得:先通过itoa函数将int型变量类型转换为char型数组,然后用strlen函数求得它的长度。
C语言求整数长度或多少位
下面用两种方法计算。负数有个符号位,长度比位数多 m=1。占内存的大小用sizeof(int) 可得,通常 32位机为4字节,64位机为8字节。例如:include <stdio.h> int main(){ int a=123456;int n,m=0;char s[60];if (a<0) m=1;sprintf(s,"%d",a);n = strlen(s);printf("a has dig...
C语言编程 给一个任意的整数,求出它是几位数
int main(void){ long n;int i=0;scanf("%ld",&n);while(n){ i++;n=n\/10;} printf("%d",i);getch();return 0;} \/\/如果数字超过了long 的范围 \/\/就用char *ch 去接受那个数 \/\/加个'\\0'\/\/最后直接strlen就OK了
C语言编写一个程序输入一个正整数求出它是几位数
int main() { int num, temp, count = 0;\/\/ 提示用户输入一个正整数 printf("请输入一个正整数: ");scanf("%d", &num);\/\/ 检查输入是否为正整数 if (num <= 0) { printf("请输入一个正整数。\\n");return 1;} \/\/ 复制输入的数字到临时变量 temp = num;\/\/ 计算数字的位数 whi...
c语言求整数的位数
puts("");printf("位数为:%d\\n", ans); \/\/ 位数 return 0;}
c语言编程 输入正整数n,求n是几位数
当你输入一个正整数n时,你需要编写一个C语言程序来确定n是几位数。这可以通过计算n的位数来实现。具体来说,你可以使用循环来将n除以10,直到n小于10为止。每次除以10时,计数器加1,最终计数器的值就是n的位数。以下是一个简单的C语言程序,可以实现这个功能:```include <stdio.h> int main(...
C语言 编写一个程序,输入一个正整数,求出它是几位数。
依次把该整数n除以10,直到其为0为止,并且每除一次10,变量num的个数就自加1,最后num的值就是该整数n的位数。参考代码:include <stdio.h>int main(){ int n,num=0;scanf("%d",&n);while(n){num++;n\/=10;}printf("%d\\n",num); return 0;}\/*输出:1234566*\/ ...
C语言 编写一个程序,输入一个正整数,求出它是几位数。
\/*功能:输入一个任意长度的正整数,求出它是几位数。*\/ include<stdio.h> int main(){ int number;int count = 0;\/\/记录个数 scanf("%d", &number);if (number == 0){ printf("number is %d\\n",count+1);\/\/0是一位数 }else { while (number != 0){ number = number \/ 10...
如何用C语言编写一个计算正整数位数的程序?
3、求字符串的长度(strlen函数),即正整数的位数 代码如下:include <stdio.h>#include <string.h>int main(){long num;char str[20];scanf("%ld", &num);sprintf(str, "%ld", num);printf("%d", strlen(str));return 0;}这样写主要是考虑到整数的前面可能有0,比如:00090,是两位数...
C语言如何得到一个整数的个位、十位、百位
在C语言中,你可以通过数学运算来得到一个整数的个位、十位、百位等。以下是一个简单的示例,它展示了如何将一个整数分解为其个位、十位和百位:在这个程序中,我们使用了 %(取余)和 \/(除法)操作符来得到整数的各个位数。num % 10 返回 num 的个位数,num \/ 10 返回 num 去掉个位数后的新...
C语言怎么计算一个数有多少位
C语言怎么计算一个数有多少位的方法:输入待计算的数x 定义一个数位的变量int n=0;循环,x每次缩小10倍,n=n+1; 最终x会变成0,循环结束 输出n值 代码:include <stdio.h>void main(){ int x,m,n=0; printf("input x: ");scanf("%d", &x ); m=x; \/\/备份原数,供输...