C用一个数字替换另一个数字的程序

给定数字n,我们必须用另一个给定的数字m替换该数字中的数字x。我们必须寻找该数字,无论该数字是否存在于给定的数字中,如果它存在于给定的数字中,则将该特定数字x替换为另一个数字m。

就像我们给定的数字“ 123”和m为5,要替换的数字即x为“ 2”一样,因此结果应为“ 153”。

示例

Input: n = 983, digit = 9, replace = 6

Output: 683

Explanation: digit 9 is the first digit in 983 and we have to replace the digit 9 with 6 so the result will be 683.

Input: n = 123, digit = 5, replace = 4

Output: 123

Explanation: There is not digit 5 in the given number n so the result will be same as the number n.

下面使用的方法如下-

  • 我们将从单位位置开始查找号码

  • 当我们找到要替换的数字时,将结果添加到(replace * d),其中d应该等于1。

  • 如果我们找不到该号码,只需简单地保留该号码即可。

算法

In function int digitreplace(int n, int digit, int replace)

   Step 1-> Declare and initialize res=0 and d=1, rem

   Step 2-> Loop While(n)

      Set rem as n%10

      If rem == digit then,

         Set res as res + replace * d

      Else

         Set res as res + rem * d

         d *= 10;

         n /= 10;

      End Loop

   Step 3-> Print res

      End function

In function int main(int argc, char const *argv[])

   Step 1-> Declare and initialize n = 983, digit = 9, replace = 7

   Step 2-> Call Function digitreplace(n, digit, replace);

Stop

示例

#include <stdio.h>

int digitreplace(int n, int digit, int replace) {

   int res=0, d=1;

   int rem;

   while(n) {

      //从后面找到其余部分

      rem = n%10;

      //检查余数是否等于

      //我们要替换的数字。如果是,则更换。

      if(rem == digit)

         res = res + replace * d;

      //否则不要替换,仅将其存储在res中。

      else

         res = res + rem * d;

         d *= 10;

         n /= 10;

   }

   printf("%d\n", res);

      return 0;

}

//主要功能

int main(int argc, char const *argv[]) {

   int n = 983;

   int digit = 9;

   int replace = 7;

   digitreplace(n, digit, replace);

   return 0;

}

如果运行上面的代码,它将生成以下输出-

783

以上是 C用一个数字替换另一个数字的程序 的全部内容, 来源链接: utcz.com/z/340962.html

回到顶部