ccf151201 位數之和

2022-05-21 16:12:07 字數 1082 閱讀 2878

題目

問題描述給定乙個十進位制整數n,輸出n的各位數字之和。輸入格式輸入乙個整數n。輸出格式輸出乙個整數,表示答案。樣例輸入20151220樣例輸出

13

樣例說明20151220的各位數字之和為2+0+1+5+1+2+2+0=13

評測用例規模與約定所有評測用例滿足:

0 ≤ n ≤ 1000000000。

思路

我的想法是將以string型別進行輸入,然後處理每一位。本來想著用string庫里的stoi()/atoi()函式將string轉成int,但是sum+=atoi(num[i]);這樣的用法會報錯,提示「invalid conversion from 'char' to 'const char*' [-fpermissive]」。

看一下atoi()函式的原型

int atoi(const

char *str );

功能:把字串轉換成整型數。

str:要進行轉換的字串

返回值:每個函式返回

int 值,此值由將輸入字元作為數字解析而生成。如果該輸入無法轉換為該型別的值,則atoi的返回值為 0。

就可以看出來為什麼報錯了,也就是atoi()希望的輸入是乙個字串文字,而不是num[i]這樣單個的字元。

直接用num[i]-'0'

將單個字元轉換成int就好了,因為如果每個字元都是數字,那麼num[i]的值就是'0'-'9',減去'0'的字元ascii碼的差值就恰好是這個數字。

題解

#include#include

using

namespace

std;

intmain()

cout

return0;

}

CCF CSP201512 1 位數之和

題目鏈結 問題描述 試題編號 201512 1 試題名稱 數字之和 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 給定乙個十進位制整數n,輸出n的各位數字之和。輸入格式 輸入乙個整數n。輸出格式 輸出乙個整數,表示答案。樣例輸入 樣例輸出 樣例說明 20151220的各位數字之...

CCF CSP 201512 01 位數之和

問題描述 試題編號 201512 1 試題名稱 數字之和 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 給定乙個十進位制整數n,輸出n的各位數字之和。輸入格式 輸入乙個整數n。輸出格式 輸出乙個整數,表示答案。樣例輸入 樣例輸出 樣例說明 20151220的各位數字之和為2 0...

求出5位數和6位數中各位數字之和為N的回文數

問題描述 123321是乙個非常特殊的數,它從左邊讀和從右邊讀是一樣的。輸入乙個正整數n,程式設計求所有這樣的五位和六位十進位制數,滿足各位數字之和等於n 輸入格式 輸入一行,包含乙個正整數n。輸出格式 按從小到大的順序輸出滿足條件的整數,每個整數佔一行。樣例輸入 52樣例輸出 899998 989...