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+ 次浏览

开启您的职业生涯

完成课程后获得认证

开始学习
广告