換行輸出整數問題
輸?任意?個位數未知的整數,輸出這個數每?位上的數字。輸出的時候,從個位開始輸出,每輸出?個數字換??。樣例輸?:3547? 輸出:7 換行輸出 4?換行輸出5?換行輸出3
int n = Convert.ToInt32(Console.ReadLine());
int x;
while (n > 0)
{x = n % 10; // 對這個數取余 3457 第一次取余7 Console.WriteLine(x); // 取余完直接輸出余數換行n /= 10;// 這個數除10,第一次變為十位上的數 然后繼續跟上面進入循環取余。。。。
}
去除整數各個位數為0的問題
?隨機輸??個位數未知的整數,去除這個整數各個位上的0,形成新的數,并輸出。輸?的數字n?于0,?于1000000 ?樣例輸? 10502?樣例輸出 152
int n = Convert.ToInt32(Console.ReadLine());
int result = 0;// 作為容器相加
int a = 1;// 作為容器相乘
if (n > 0 && n < 1000000) // 規定范圍
{while (n > 0){int i = n % 10; // i = 2 0 5 0 1if (i != 0){result += i * a;// 0+2*1 2+5*10 52+1*100a = a * 10;// 每次條件符合a都必須*10進位}n /= 10;// 為這個數取下一位做準備}Console.WriteLine(result);// 152
}
else Console.WriteLine("輸入的數不符合規范,請重新輸入");
對輸入的數取反問題
隨機輸??個整數num,輸出?個新的數,新數恰好與原數每?位上的數字相反。(如果原數末尾有多個零,輸出的新數?位不含0)樣例輸? 4735 樣例輸出 5374? 樣例輸?1400 樣例輸出 41
int num = Convert.ToInt32(Console.ReadLine());
//定義變量假設條件
bool zero = false;// 默認還沒有遇到第一個非0
while (num > 0) // 循環條件
{int i = num % 10;//判斷是否遇到了第一個非0數字//已經遇到了第一個非0數字//不需要去掉0了//還沒有遇到第一個非0數字//去掉if (zero == false)// 還沒有遇到第一個非0數字{if (i != 0) // 如果開始沒有遇到到0{Console.Write(i);// 直接輸出這個位數上的數zero = true;// 條件改變}// 如果開始是0就啥都不管}else{Console.Write(i); // 繼續輸出其它不為0的數}num /= 10; // 取下一位數繼續循環操作
}