Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C เพื่อแทนที่ศูนย์ทั้งหมดด้วยหนึ่งในจำนวนเต็มที่กำหนด


ปัญหา

เขียนโปรแกรมเพื่อแทนที่ 0 ทั้งหมดด้วย 1 ในจำนวนเต็มที่กำหนด

เมื่อกำหนดจำนวนเต็มเป็นอินพุต จะต้องแทนที่ 0 ทั้งหมดในตัวเลขด้วย 1

วิธีแก้ปัญหา

ลองพิจารณาตัวอย่างด้านล่าง −

ที่นี่ อินพุตคือ 102410 และเอาต์พุตคือ 112411

อัลกอริทึม

อ้างถึงอัลกอริทึมที่ระบุด้านล่างเพื่อแทนที่ 0 ทั้งหมดเป็น 1 ในจำนวนเต็ม

ขั้นตอนที่ 1 - ป้อนจำนวนเต็มจากผู้ใช้

ขั้นตอนที่ 2 - เลื่อนผ่านตัวเลขจำนวนเต็มทีละหลัก

ขั้นตอนที่ 3 - หากพบ '0' ให้แทนที่ด้วย '1'

ขั้นตอนที่ 4 - พิมพ์จำนวนเต็ม

ตัวอย่าง

รับด้านล่างเป็นโปรแกรม C เพื่อแทนที่ 0 ทั้งหมดด้วย 1 ในจำนวนเต็มที่กำหนด -

#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