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
广告