Ⅰ c语言求一个数是几位数
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{int x,w,i;
cout<<"输入一个数不多于5位";
cin>>x;
if (x>=99999||x<0)
{cout<<"error";
return 0;}
else if (x>=10000)
{w=5;cout<<x<<"是5位数";}
else if (x>=1000)
{w=4;cout<<x<<"是4位数";}
else if (x>=100)
{w=3;cout<<x<<"是3位数";}
else if (x>=10)
{w=2;cout<<x<<"是2位数";}
else
{w=1;cout<<x<<"是1位数";}
//////////////////////////
int a[5];
for (i=1;i<=w;i++)
{a[i-1]=x%10;
x=x/10;}
for (i=1;i<=w;i++)
{cout<<setw(5)<<a[w-i];}
cout<<endl;
//////////////////
int sm=0;
for (i=1;i<=w;i++)
{sm=sm*10+a[i-1];}
cout<<sm;
return 1;
}
Ⅱ C语言怎么计算一个数有多少位
c语言怎么计算一个数有多少位的方法:
1.
输入待计算的数x
2.
定义一个数位的变量int
n=0;
3.
循环,x每次缩小10倍,n=n+1;
最终x会变成0,循环结束
4.
输出n值
代码:
#include
void main()
{
int x,m,n=0;
printf("input x: ");scanf("%d", &x );
m=x; //备份原数,供输出用
do {
n++;
x /= 10 ;
} while( x>0 );
printf("%d 是%d位数\n", m, n );
}
Ⅲ C语言 判断一个数的位数
代码如下:
#include<stdio.h>
int main()
{
int a,b;
int i;
printf("请输入一个数字:");
scanf("%d",&a);
b=a;
for(i=0;a>1;i++)
{
a=a/10;
}
printf("%d是%d位数 ",b,i);
}
(3)c语言中求一个数的数位扩展阅读:
思路详解:
在C语言中,经常会用到以整数相除来确定一个整形数字的每一位的具体数字是多少,同理,此处可用整数相除来判断一个数的位数。
首先,使用scanf函数获取这个数字的值,且赋给变量b,作一个备份。
接着,确定核心思路为,当一个数整除10,第一次结果为1时,这个数是一个个位数。因而,以其作为循环内的主体。
得到了for(i=0;a>1;i++) a=a/10; 这样的代码,最后,输出结果即可。
Ⅳ C语言 编写一个程序,输入一个正整数,求出它是几位数。
求一个正整数n的位数可以先定义一个变量num,并初始化为0,依次把该整数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 ",num);
return 0;
}
/*
输出:
123456
6
*/
(4)c语言中求一个数的数位扩展阅读:
正整数,即大于0的整数,如,1,2,3…
0既不是正整数,也不是负整数(0是整数)。
负整数,即小于0的整数,如,-1,-2,-3…
知道正整数的一种分类办法是按照其约数或积因子的多少来划分的,比如仅仅有两个的(当然我们总是多余地强调这两个是1和其本身),就称之为质数或素数,而多于两个的就称之为合数。
Ⅳ 求一个数是几位数的C语言程序
inta;
scanf("%d",&a);
intsum=0;//a的位数
if(!a)
sum=1;//0的位数是1
while(a){
a/=10;
++sum;
}
printf("%d",sum);
Ⅵ 如何用C语言实现求一个数的数位
#include<stdio.h>
void main()
{
int i,num,count=0;
printf("请输入一个整数: \n");
scanf("%d",&num);
printf("整数的逆序输出为: \n");
while(num/10)
{
count++;
printf("%d",num%10);
num/=10;
}
count++;
printf("%d\n",num);
printf("该整数共有%d位 \n",count);
Ⅶ c语言中如何求一个整数的各位数
用取余和取模的方法。比如a:a%10得到是各位。a/10得到的是去除个位的那些数,声明一个变量来存储这个数。如此循环就可以了。你可以提前声明一个足够大的一维数组来存放正整数的各个位。希望对你有帮助。上面那位的程序可以借鉴,但是不全,改一下。
Ⅷ 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));
}
Ⅸ 利用C语言怎样求整数的位数以及各位数之和
#include <stdio.h>
int main(int argc, char **argv)
{
int a;
int sum = 0; //这是各位数的和
int NumWidth =0;//这是位数和
scanf("%d",&a);
while(a != 0)
{
sum += a%10 ; //求余可以得到这个数个位上的数字,然后把它加到sum中
a /= 10; //把这个数字除以10,然后再求余,可以得到10位
NumWidth ++;//每次循环,就可以得到位数。
}
printf("the number you input width= %d, sum = %d",NumWidth,sum);
return 0;
}
Ⅹ C语言怎样提取一个数的十位个位百位千位
设一个数为n,则在C语言中其个位、十位、百位、千位依次这样计算:n/1%10,n/10%10,n/100%10,n/1000%10
代码如下:
#include<stdio.h>
int main(){
int n = 123456;
int unitPlace = n / 1 % 10;
int tenPlace = n / 10 % 10;
int hundredPlace = n / 100 % 10;
int thousandPlace = n / 1000 % 10;
printf("个位:%d 十位:%d 百位:%d 千位:%d ", unitPlace, tenPlace, hundredPlace, thousandPlace);
getchar();
return 0;
}
运行结果如图:
(10)c语言中求一个数的数位扩展阅读
C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。