n-1位數
- 描述
-
已知w是一個大於10但不大於1000000的無符號整數,若w是n(n≥2)位的整數,則求出w的後n-1位的數。
- 輸入
- 第一行爲M,表示測試數據組數。
接下來M行,每行包含一個測試數據。 - 輸出
- 輸出M行,每行爲對應行的n-1位數(忽略前綴0)。如果除了最高位外,其餘位都爲0,則輸出0。
- 樣例輸入
-
4 1023 5923 923 1000
- 樣例輸出
-
23 923 23 0
分析:
如果直接用int型變量來存儲輸入的整數的話,不好判斷是幾位數。
故以下代碼用字符型數組把輸入的整數當作字符串來存儲,輸出時,從第二位起第一個不是0的開始輸出即可,若直到最後一位都是0,則輸出最後一位。
代碼:
#include<cstdio> #include<cstring> int main() { int T; scanf("%d",&T); while(T--) { char w[8]; scanf("%s",w); for(int i=1;i<strlen(w);i++) if(w[i]!='0'||i==strlen(w)-1) { printf("%s\n",&w[i]); break; } } return 0; }