You are on page 1of 5

EXPERIMENT NO:03

TITLE: SOLVING COMPLEX PROBLEMS


POST LAB TASKS:
TASK 1:
Write a program which takes two 5-digit numbers as an input, split these numbers and add them
by considering carry.
SOLUTION:
#include <stdio.h>
#include <stdlib.h>

int main()
{
int
num,num1,rem1,rem2,rem3,rem4,rem11,rem22,rem33,rem44,rem111,rem11
11,carry1,rem222,rem2222,carry2,rem333,rem3333,carry3,rem444,rem4
444,carry4,rem55;

printf("Enter the FiveDigit value of num and num1");


scanf("%d%d",&num,&num1) ;

/*FIRST WE SPLIT NUM VALUE*/

rem1=num%10;
num=num/10;
rem2=num%10;
num=num/10;
rem3=num%10;
num=num/10;
rem4=num%10;
num=num/10;

/*SECOND WE SPLIT NUM1 VALUE*/

rem11=num1%10;
num1=num1/10;
rem22=num1%10;
num1=num1/10;
rem33=num1%10;
num1=num1/10;
rem44=num1%10;
num1=num1/10;
/*NOW WE ADD THE SPLIT NUM AND NUM1 VALUES*/

rem111=rem1+rem11;
rem1111=rem111%10;
carry1=rem111/10;

rem222=rem2+rem22+carry1;
rem2222=rem222%10;
carry2=rem222/10;

rem333=rem3+rem33+carry2;
rem3333=rem333%10;
carry3=rem333/10;

rem444=rem4+rem44+carry3;
rem4444=rem444%10;
carry4=rem444/10;

rem55=num+num1+carry4;

printf("sum=%d%d%d%d%d",rem55,rem4444,rem3333,rem2222,rem1111);
return 0;
}

TASK 2:
If a 5-digit number is input through the keyboard, write a program to reverse the
number. ( hint: use modulus % operator)

SOLUTION:
#include <stdio.h>
#include <stdlib.h>

#include <stdio.h>
#include <stdlib.h>

int main()
{
int num,rem1,rem2,rem3,rem4,reverse;

printf("Enter the value of FiveDigit num");


scanf("%d",&num) ;
/*FIRST WE SPLIT THE NUMBER BY USING MODULUS OPERATOR*/
rem1=num%10;
num=num/10;
rem2=num%10;
num=num/10;
rem3=num%10;
num=num/10;
rem4=num%10;
num=num/10;
/*NOW FOR REVERSE WE USE THIS LOGIC*/
reverse=rem1*10000+rem2*1000+rem3*100+rem4*10+num;
printf(" \n%d",reverse);
return 0;
}

CONCLUSION:
In this lab we can learn how to add ,reverse, and split the numbers. We can also learn about
modulus operator. From this we can solve the problems of these types.

You might also like