藍橋杯練習 到底有多二

2021-08-17 21:10:23 字數 961 閱讀 8129

時間限制

400 ms

記憶體限制

65536 kb

**長度限制

8000 b

判題程式

standard 作者

陳越乙個整數「犯二的程度」定義為該數字中包含2的個數與其位數的比值。如果這個數是負數,則程度增加0.5倍;如果還是個偶數,則再增加1倍。例如數字「-13142223336」是個11位數,其中有3個2,並且是負數,也是偶數,則它的犯二程度計算為:3/11*1.5*2*100%,約為81.82%。本題就請你計算乙個給定整數到底有多二。

輸入格式:

輸入第一行給出乙個不超過50位的整數n。

輸出格式:

在一行中輸出n犯二的程度,保留小數點後兩位。

輸入樣例:

-13142223336
輸出樣例:
81.82%
到底有多二呢?哈哈,看清楚題目的意思,要明白自己想要求的是什麼,題目要求是輸入乙個整數,但是長達六十位的整數,存在乙個變數中是不可能的。所以,我們應該理所當然的想到要輸入一串字串代替這個數,然後for迴圈,看字元中那個等於『2』。注意到的是這裡說的『2』是字元的2,不是數字的2,剛開始的時候我就是打了數字的2,沒有加上『』,然後又除錯了一會才懂得自己**出錯,這樣是很浪費時間的,所以下次遇到字元要注意不要再犯這種錯誤。

#include

#include

int main()

if((a[l-1]-'0')%2==0)//判斷是否為偶數 

for(;i

if(a[0]=='-')l--;//如果是負數,這個數的位數應該減一 

printf("%.2f%%",sum/l*ji*2*100);//按照給出的公式打出來 

return 0;

}

到底有多二

7 3 到底有多二 15 分 乙個整數 犯二的程度 定義為該數字中包含2的個數與其位數的比值。如果這個數是負數,則程度增加0.5倍 如果還是個偶數,則再增加1倍。例如數字 13142223336是個11位數,其中有3個2,並且是負數,也是偶數,則它的犯二程度計算為 3 11 1.5 2 100 約為...

到底有多二

l1 017 到底有多二 15 分 乙個整數 犯二的程度 定義為該數字中包含2的個數與其位數的比值。如果這個數是負數,則程度增加0.5倍 如果還是個偶數,則再增加1倍。例如數字 13142223336是個11位數,其中有3個2,並且是負數,也是偶數,則它的犯二程度計算為 3 11 1.5 2 100...

到底有多二

乙個整數 犯二的程度 定義為該數字中包含2的個數與其位數的比值。如果這個數是負數,則程度增加0.5倍 如果還是個偶數,則再增加1倍。例如數字 13142223336是個11位數,其中有3個2,並且是負數,也是偶數,則它的犯二程度計算為 3 11 1.5 2 100 約為81.82 本題就請你計算乙個...