C語言如何計(jì)算一個(gè)整數(shù)的位數(shù)
計(jì)算一個(gè)整數(shù)的位數(shù)
只需要設(shè)計(jì)一個(gè)計(jì)時(shí)器,因?yàn)镃語言中除法只留下整數(shù)部分,所以可以拿數(shù)字/10;數(shù)字位數(shù)即為循環(huán)次數(shù),待n為個(gè)位時(shí)n/10=0,然后循環(huán)結(jié)束。
#include<stdio.h>
int main()
{
int n;
int count = 0;
scanf("%d",&n);
if(n == 0)//n為0的情況,個(gè)人感覺無位數(shù),退出
{
return 0;
}
else
{
while(n)
{
n=n/10;//每次去掉數(shù)字最后一位
count++;//循環(huán)一次計(jì)數(shù)器+1
}
}
printf("%d",count);
return 0;
}

關(guān)于如何獲取整數(shù)各個(gè)位
對(duì)于這個(gè)在實(shí)際的編程題中應(yīng)用比較多,做了一個(gè)總結(jié)。
基礎(chǔ)思路
...
int i=123,a;
a = i%10;
printf("a=%d",a);輸出的便是i的個(gè)位數(shù)
a=3
然后知道通過 i/10 便可"清除"個(gè)位數(shù)
由此我們便可以通過循環(huán)此方法獲取各個(gè)位數(shù)
...
int i=123,a,b,c;
a = i%10;
i/=10;
b = i%10;
i/=10;
c = i%10;
i/=10;
printf("a=%d,b=%d,c=%d",a,b,c);輸出的a,b,c便是 i 的個(gè)位數(shù),十位數(shù),百位數(shù)
于是我們便知道將整數(shù)反轉(zhuǎn)的方法
...
int i;
long rex = 0;//反轉(zhuǎn)后的整數(shù)
while(i != 0){
? ? rex = rex*10 + i % 10;
? ? i = i / 10;
}//溢出判斷暫時(shí)忽略將整數(shù)反轉(zhuǎn)后那我們又可以得到將整數(shù)按位存入數(shù)組的方法
int i,j,count=0;
int nums[numsSize];//需要存入的數(shù)組
long rex = 0;
while(i != 0){
? ? rex = rex*10 + i % 10;
? ? i = i / 10;
}
...
while(rex != 0)
{
? ? j = rex % 10;//獲取個(gè)位數(shù)
? ? nums[count] = j;
? ? rex/=10;
? ? count++;
}反之也可以將字符串轉(zhuǎn)化為整數(shù),不過本質(zhì)是一樣的,就不多說了。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C++11中的可變參數(shù)模板/lambda表達(dá)式
C++11的新特性可變參數(shù)模板能夠讓我們創(chuàng)建可以接受可變參數(shù)的函數(shù)模板和類模板,相比C++98和C++03,類模板和函數(shù)模板中只能含固定數(shù)量的模板參數(shù),可變參數(shù)模板無疑是一個(gè)巨大的改進(jìn),這篇文章主要介紹了C++11中的可變參數(shù)模板/lambda表達(dá)式,需要的朋友可以參考下2023-03-03
c語言實(shí)現(xiàn)php的trim標(biāo)簽
本文給大家介紹的是使用C語言實(shí)現(xiàn)php的trim標(biāo)簽功能的代碼,非常的實(shí)用,其主要作用是清除字符串開頭結(jié)尾除空白,有需要的小伙伴可以參考下。2016-01-01
C語言學(xué)生信息管理系統(tǒng)小項(xiàng)目
這篇文章主要為大家詳細(xì)介紹了C語言學(xué)生信息管理系統(tǒng)小項(xiàng)目,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
純C語言:遞歸二進(jìn)制轉(zhuǎn)十進(jìn)制源碼分享
這篇文章主要介紹了純C語言:遞歸二進(jìn)制轉(zhuǎn)十進(jìn)制源碼,有需要的朋友可以參考一下2014-01-01
C語言調(diào)試手段:鎖定錯(cuò)誤的實(shí)現(xiàn)方法
本篇文章是對(duì)在C語言調(diào)試中,鎖定錯(cuò)誤的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05

