c語言 判斷數的位數,C語言 判斷乙個數的位數

2021-12-22 18:19:06 字數 6572 閱讀 6613

1樓:木澂

**如下:

#include

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位數\n",b,i);

2樓:匿名使用者

思路:因為整數除以整數的結果是整數,所以乙個數每除以10,位數就少1,所以可以採用while迴圈依次除以10,直到結果為0,每除以10位數加1。

#include

int main()

printf("%d的位數是:%d",i,sum);

return 0;}/*

執行結果:

12345

12345的位數是:5*/

3樓:ll3008在路上

直接計算目標數以10為底的對數,然後取整+1,無需迴圈#include

#include

int main()

4樓:金正漢堡

思路:設定乙個變數 n 表示位數

做乙個 除10 迴圈

判斷 輸入的數除以10 是否大於1

每迴圈一次 n +1

這樣夠清楚了吧

具體還是自己寫吧

看答案收穫太小了

5樓:

頂一樓,用strlen(char *),可以求出乙個串的長度,你輸入乙個資料還不是一系列字元,而且這個的大小都沒什麼限制,不像你用數值型別還要看一下數值範圍。

6樓:我不是歌神

int main()

printf("%d是%d位數\n",b,i);

7樓:牽凝雲

你試一下1000,只會顯示三位數

8樓:匿名使用者

#include

main()

printf("n has %d digits\n",m);}

9樓:手機使用者

#include

int main()

while(a!=0);

printf("shu zi de wei shu wei:%d",t);}

10樓:老魚講歷史

我記得c有個函式求字串的個數的啊

11樓:匿名使用者

#include

#include

int main()

printf("n has %d digits\n",m);

system("pause");}

12樓:匿名使用者

如果輸入

123456789012345

會怎麼樣?

c語言中怎樣判斷乙個數是幾位

13樓:匿名使用者

思路:因為c語言中整數除以整數等於整數,所以乙個數除以10就少一位,所以求乙個數的位數可以依次除10操作,直到其位0,每除10該數的位數加1。

參考**:

#include

int main()

printf("該數的位數為:%d\n",sum);

return 0;}/*

12345

該數的位數為:5*/

14樓:匿名使用者

思路:因為整數除以

整數的結果是整數,所以乙個數每除以10,位數就少1,所以可以採用while迴圈依次除以10,直到結果為0,每除以10位數加1。

if(number%2==0||number%2==1)是整數; //number對2取模,餘數為0或1就是整數。

else 不是;

實際上,還可以在定義上取巧,比如說,把輸入數n設為float ,另有乙個 int m;

輸入n後,

m=n;//強制把n取整賦給m

if(n==m)就是整數了。

15樓:匿名使用者

我告訴你乙個非常簡單的方法,並且不改變原值:

strlen(itoa(a,str,10));//a為你需要判斷的數,這裡的a為整型

**********====**如下***************==

#include

#include

#include

void main()

//程式我已經除錯過了,不懂的可追問哦

16樓:匿名使用者

最簡單的方法,就是轉換為字串,利用庫函式來做給你個**參考

#include

#include

#include

int main()

17樓:匿名使用者

**越簡單越好...???

給樓主寫了個?你看還可以不?

你自己還是去網上除錯下我這個程式,看能實現你的功能不?

#include

void main()

while(n!=0);

printf("次數是%d位數\n",count);}}嘿嘿..記得除錯啊!

18樓:管家光

int a,i;

int count=1;

scanf("%d",&a);

for(i=10;i10)

break;

count++;

}printf("這個數是%d位數",a);

自己寫的,思想是用乙個迴圈讓數分別去除以10,100,1000等,如果結果小於10,就停止。count用來計數。

19樓:匿名使用者

#include

int main(void)

printf("%d\n",j-1);

return 0;}

20樓:瓊頭浪子

#include

void main()

printf("%d",++i);}

c語言中如何判斷乙個數的位數?

21樓:h愛不絕跡

#include

void main()

void num(int a)

printf("%d位的,逆序數=%ld\n",i,b);

}具體如下:

1、簡介c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平台的特性,以乙個標準規格寫出的c語言程式可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平台。

2、基本介紹

c語言,是一種通用的、過程式的程式語言,廣泛用於系統與應用軟體的開發。具有高效、靈活、功能豐富、表達力強和較高的移植性等特點,在程式設計師中備受青睞。最近25年是使用最為廣泛的程式語言。

3、運算

c語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程式語言。在表示式方面較其它程式語言更為簡潔,如自加、自減、逗號運算和三目運算使表示式更為簡單,但初學者往往會覺的這種表示式難讀,關鍵原因就是對運算子和運算順序理解不透不全。當多種不同運算組成乙個運算表示式,即乙個表示式**現多種運算子時,運算的優先順序和結合規則顯得十分重要。

在學習中,對此合理進行分類,找出它們與數學中所學到運算之間的不同點之後,記住這些運算也就不困難了,有些運算子在理解後更會牢記心中,將來用起來得心應手,而有些可暫時放棄不記,等用到時再記不遲。

22樓:爪哇

#include

int main()

printf("%d",count);

return 0;

}自己寫的哈哈

c語言 判斷乙個數是否為素數???

23樓:宰桂枝汗媚

不矛盾,首首先這個題目給的結果是相反的,但這不是重要的,反回來就行了。第乙個i<=k是作為乙個限定條件程式只要求到k就行了,減少計算量。如果這個數不是素數,它必然滿足整個for迴圈語句,如果不滿足的話i將等於k加1,讀者可自己證明,注意i++。

24樓:井松蘭益黛

f是乙個標記,當他的值為1時,說明他能被某個不為1和它本身的數整除,也就是說你輸入的數不是素數,

至於那個i<=k和i>=k+1,如果你輸入的那個數m一直都不能被從2到sqrt(m)整除時,經過迴圈後i=k+1,就滿足i>=k+1,如果你輸入的數m能被從2到sqrt(m)的某個數整除時,i就不會》=k+1

25樓:公孫淑敏魯卿

其實,很簡單假如n

的算術平方根為

r,即n

=r*r如果n

不是素數,那麼就至少有乙個因子

a,即n

=a*b

2

2到r直接的因子

26樓:富鵬同

你利用的是這個迴圈:讓乙個待檢測的數依次除以2,3,4……一直到該數的平方根,如果能整除就說明該數不是素數。

依照你的迴圈for(i=2;i<=k;i++),注意,後面有個i++,所以如果該數是素數,那麼迴圈到i=sqrt(m)時,m仍不會被整除,因此i會自增1個單位,由此有i>k,此時就可以斷定m是素數了

o(∩_∩)o

27樓:

依照你的迴圈for(i=2;i<=k;i++),注意,後面有個i++,所以如果該數是素數,那麼迴圈到i=sqrt(m)時,m仍不會被整除,因此i會自增1個單位,由此有i>k,此時就可以斷定m是素數了

28樓:育知同創教育

#include"stdio.h"

#include"math.h"

main()

判斷是否為素數,只需要判斷它是否只能被1和它本身整除。

29樓:匿名使用者

#include

#include

void main()

c語言 判斷乙個輸入得數子是幾位數

30樓:小夏在深圳

判斷乙個輸入得數子是幾位數的源**如下:

#includevoid main()

void count();

printf("請輸入一串字元,數字、字母皆可:\n");

count();

void count()

char c[32];

int n=0;

while((c[n]=getchar())!='\n')n++;

printf("輸入字元總數為:%d\n",n);

printf("反序輸出結果為:");

for(n;n>=0;n--)

printf("%c",c[n]);

printf("\n");

}擴充套件資料1、關鍵字不能用作使用者定義的名稱(識別符號)。

2、對於每個開放的brase()。

3、必須宣告每個變數bofore使用它。

4、每個c程式都必須編寫此語句。該語句(main)指定c程式執行的起始點。main是乙個使用者定義的方法,它告訴編譯器這是程式執行的起點。

int是在完成主方法執行後將返回作業系統的值的資料型別。如不想返回任何值,可以將其用作void。

31樓:匿名使用者

#include

int is_digit(long long a){int sum=0;

while(a){

sum++;

a/=10;

printf("該數的位數為:%d\n",sum);

return 0;

int main()

long long a;

scanf("%lld",&a);

printf("您輸入的數值是:%lld\n",a);

is_digit(a);

32樓:匿名使用者

#include "stdio.h"

#include "stdlib.h"

void main()

int count=1;

printf("請輸入乙個數字");

int n;

scanf("%d",&n);

while(n>=10)

count++;

n=n/10;

printf("這個數字是%d位數",count);

system("pause");

33樓:匿名使用者

int count = 1;

int n;

scanf("%d",&n);

while(n / 10 != 0)

count就是所求位數

c語言如何判斷數是完數,C語言如何判斷乙個數是完數?

2 然後就可以開始編寫 了,這裡完數的意思就是乙個數等於它的因子之和,比如6的因子為1 2 3,而6剛好是這些數之和。根據完數的定義,程式要輸入乙個數的範圍,接著計算出所選取的整數i的因子,將各因子累加到變數s 若s等於i,則可確認i為完數 3 最後執行查詢,輸入乙個範圍,程式就會自動查詢這個範圍內...

c語言中,怎麼判斷常量是否合法,判斷C語言數值常量是否合法 為什麼不合法?

整型分字首 0 0x 和字尾 u l 每種進製中用的數字不同 浮點數字尾f l,指數表示注意是否在範圍內 字元與字串主要注意轉義字元後面是否合法 a 整數中不允許出現逗號 b 科學計數法表示1.5乘以10的2.0次方,由於科學計數法指數部分只能是整數。c 號是轉義符號後面要跟其他符號來表示具體字元,...

c語言中如何判斷數是完全平方數C語言中如何判斷乙個數是完全平方數

需要準備的材料分別有 電腦 c語言編譯器。1 首先,開啟c語言編譯器,新建初始.cpp檔案,例如 test.cpp。2 其次,在test.cpp檔案中,輸入c語言 int a 64 double c sqrt a if c int c printf 是完全平方數 else printf 不是完全平方...