C語言程式:將給定整數中的所有零替換為一。


問題

編寫一個程式,將給定整數中的所有零 (0) 替換為 1。

給定一個整數作為輸入,數字中的所有 0 都必須替換為 1。

解決方案

考慮以下示例:

這裡,輸入是 102410,輸出是 112411。

演算法

參考以下演算法將整數中的所有 0 替換為 1。

步驟 1 - 從使用者處輸入整數。

步驟 2 - 逐位遍歷整數。

步驟 3 - 如果遇到 '0',則將其替換為 '1'。

步驟 4 - 列印整數。

示例

以下是將給定整數中的所有 0 替換為 1 的 C 語言程式:

 線上演示

#include<stdio.h>
int replace(long int number){
   if (number == 0)
   return 0;
   //check last digit and change it if needed
   int digit = number % 10;
   if (digit == 0)
   digit = 1;
   // Convert remaining digits and append to its last digit
   return replace(number/10) * 10 + digit;
}
int Convert(long int number){
   if (number == 0)
      return 1;
   else
      return replace(number);
}
int main(){
   long int number;
   printf("
Enter any number : ");    scanf("%d", &number);    printf("
After replacement the number is : %dn", Convert(number));    return 0; }

輸出

執行上述程式後,將產生以下輸出:

Enter any number: 1056110010
After replacement the number is: 1156111111

更新於:2021年3月26日

3K+ 次瀏覽

開啟您的職業生涯

完成課程後獲得認證

開始學習
廣告
© . All rights reserved.