Ⅰ 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語言的運算類型極其豐富,表達式類型多樣化。靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。