Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

주어진 정수에서 모든 0을 1로 바꾸는 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("\nEnter any number : ");
   scanf("%d", &number);
   printf("\nAfter replacement the number is : %dn", Convert(number));
   return 0;
}

출력

위의 프로그램이 실행되면 다음과 같은 출력을 생성합니다 -

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