① 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);
}
(1)c語言有多少個數位擴展閱讀:
思路詳解:
在C語言中,經常會用到以整數相除來確定一個整形數字的每一位的具體數字是多少,同理,此處可用整數相除來判斷一個數的位數。
首先,使用scanf函數獲取這個數字的值,且賦給變數b,作一個備份。
接著,確定核心思路為,當一個數整除10,第一次結果為1時,這個數是一個個位數。因而,以其作為循環州罩內的主體。
得到了for(i=0;a>1;i++) 粗跡燃a=a/10; 這樣的代碼,最後,輸出結果即可。
② 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語言,從鍵盤輸入一個整型數據(int型),編寫程序判斷該整數共有幾位,並輸出包含各個數字的個數。
這個用數組的方式來實現比較好,包括後面的輸出
#include<stdio.h>
#include<stdlib.h>
main()
{
intN,n,b,i,c[]={1,2,3,4,5,6,7,8,9},d[9]={0};
intr=0;
printf("Pleaseenterthenumber: ");
scanf("%d",&n);
N=n;
n=abs(n);
while(n>0){
b=n%10;
for(i=0;i<9;i++){
if(b==c[i])
d[i]++;
}
n=n/10;
r++;
}
printf("%d:%dbits ",N,r);
for(i=0;i<9;i++){
if(d[i]!=0)
printf("%d:%d ",c[i],d[i]);
}
system("pause");
}
④ C語言字元數占幾個位元組,又是多少位。
一個字元一個位元組
共8位(bit)
可以用sizeof(類型)來測試
⑤ 目前常用C語言的一個整型變數的存儲容量為多少個位元組
一般來說,標准C的整型變數是32位,也就是4位元組。在某些編譯平台上,整型的長度則取決於硬體結構,對於32位處理器是32位4位元組,對於64位處理器是64位8位元組。
⑥ C語言中整型數據的有效位數是多少
1、從二進制的角度來看整數的有效位數,要從整數的編碼說起,有符號整數編碼包括原碼、反碼和補碼三種常規編碼方式,原碼表示即最高位為符號位,0表示正數,1表示負數,如果以8位二進制位來表示,符號位要佔1位,所以有效位數7位。
要獲取整型類型在當前編譯環境中所佔的位數,可以使用sizeof運算符。
#include<stdio.h>
intmain()
{
printf("sizeofint:%d
",sizeof(int));
return0;
}
2、如果要計算一個整數中的有效位數,可以不斷的整除10求出來。如下代碼:
#include<stdio.h>
inthow_many_int(ints)
{
inti=0;
while(s!=0)
{s/=10;i++;}
returni;
}
intmain()
{
inttest;
do
{
printf("輸入整數:");
scanf("%d",&test);
printf("有%d位
",how_many_int(test));
}while(test!=~0);
return0;
}
說明:輸入數值超出int所表示的范圍,編譯器會對輸入數進行取模操作。輸出-1結束循環,退出程序。
⑦ c語言int、float、long、char各有多少位
1、在32位系統中:
char(1)位元組
short(2)位元組
int(2)位元組
long(4)位元組
char*(4)位元組
int*(4)位元組
int**(4)位元組
2、在64位系統中:
char(1)位元組
short(2)位元組
int(4)位元組
long(8)位元組
char*(4)位元組
int*(4)位元組
int**(4)位元組
(7)c語言有多少個數位擴展閱讀
在C++中short佔2位元組,int、float、long都佔4位元組,double佔8位元組。
指針長度和地址匯流排有關。因為指針記錄的就是一個地址,那麼32位的就是4位元組,64位的就是8位元組。
char佔1位元組,short佔2位元組,int、float、long都佔4位元組,double佔8位元組,任意類型的指針都佔4個位元組。
⑧ 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; //備份原數,供輸出用
do {
n++;
x /= 10 ;
} while( x>0 );
printf("%d 是%d位數\n", m, n );
}
⑨ 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 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;
}