1. c语言 输入一个整数 统计该整数的位数
#include<stdio.h>
voidmain(void)
{
intnum,digits=1;
printf("Inputanumber:");
scanf("%d",&num);
printf("Number%dhas",num);
while(num/=10)++digits;
printf("%ddigits. ",digits);
return;
}
2. 用C语言编输入一个整数输出其位数
获取输入数据比较简单,用scanf即可。
下面给两个判断整型数据位数的函数:
1.
直接求int类型数据位数:
int
getlength(const
int
tmp)
{
int
count=0;
while(
tmp/10
)
count++;
return
count;
}
2.
利用字符数组来变通的获取:
int
getlength(const
int
tmp)
{
char
str[16];
memset(str,
0,
sizeof(str));
sprintf(str,
"%d",
tmp);
return
strlen(str);
}
3. C语言 编写一个程序,输入一个正整数,求出它是几位数。
思路:求一个正整数n的位数可以先定义一个变量num,并初始化为0,依次把该整数n除以10,直到其为0为止,并且每除一次10,变量num的个数就自加1,最后num的值就是该整数n的位数。
参考代码:
#include<stdio.h>
intmain()
{
intn,num=0;
scanf("%d",&n);
while(n){
num++;
n/=10;
}
printf("%d ",num);
return0;
}
/*
输出:
123456
6
*/
4. c语言 输入一个整数 统计该整数的位数
#include<stdio.h>
voidmain(void)
{
intnum,digits=1;
printf("Inputanumber:");
scanf("%d",&num);
printf("Number%dhas",num);
while(num/=10)++digits;
printf("%ddigits. ",digits);
return;
}
5. 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;
count++;
} printf("number is %d", count);
} return 0;
}
6. c语言调用函数求一个整数数的位数
#include<stdio.h>
int
count
=
1;
int
calc(int
num){
while
(1
==
1)
{
count++;
num
/=
10;
if(num
<
0){
//小于0的数就变成正数
num
*=
-1;
}
if
(num
<
10)
{
break;
}
}
return
count;
}
void
main(){
int
num
=
0;
printf("请输入一个数:");
scanf("%d",&num)
printf("数字%d是一个%d位数!",num,calc(num));
}
7. C语言.输入一个整数,求出该整数的个位数。 源代码:
来个简单的,
#include<stdio.h>
#include<stdlib.h>
#include<limits.h>
intmain(intargc,char**argv)
{
inta;
unsignedintdigits=1;
printf("Inputaninteger:");
scanf("%d",&a);
if(a<0)a=(a==INT_MIN)?INT_MAX:-a;
while(a>9){
a/=10;
digits++;
}
printf("Theinteger%dhas%ddigits. ",a,digits);
return0;
}
8. c语言 输入任意一个整数,判断其是几位数
不会C语言。给出几个算法,代码是fortran的,供参考。
第一种,用整数除法。对于整数a,连续用10除,直到商为零。除法的次数,即为位数。
这个算法对于正负整数和零都能获得正确的结果。
9. C语言的一道题,从键盘上输入一个正整数,求他的位数,并打印出每一位的值
有两种方法 一种是楼上的算法 用除10取整得到每一位的值 不过这里改一下void main(){int n;scanf("%d",&n);while(n>0){printf("%d\t",n);n=n/10;}} 另一种方法比较取巧,直接把输入的存储空间定义为字符类型,然后直接输出就行了int i=0;char s[20];scanf("%s",s);while(!eof){printf("%c\t",s[i]);i++;}
10. c语言怎么输入一个数后并输出这个数的最后一位数
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
printf("%d",n%10);
}