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
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP