Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

write a c program to find the square of a 5 digit number
and print the result.

Answer Posted / sarthak

I was asked to calculate the square without using long int or double. This is how i did it. I was eventually rejected but i have no idea why as the code is correct.

/*Program to find the square of a 5 digit number and print*/

#include<stdio.h>
#include<conio.h>

main()
{
clrscr();



/*Part 1: -
num is used to initially read the number
i,j are used as counters
sq is used to multiply the number with each of its digits
sq1 is used to store the result of sq with proper shift and ading zeros
result is used to store and print fial result
rem used to store remainder
quot used to store quotient
rs use as sum of coloumn*/

int num[5],i=0,j=0,sq[5][10],sq1[5][10],result[10],dig,rem,quot,rs=0;



/* Part 2: -
Reading the 5 digit number*/

printf("Enter the 5 digit number\nPlease press enter after each digit: -");
for(i=4;i>=0;i--)
{
scanf("%d",&num[i]);
}

/*Print the entered number*/

printf("\n\nYou entered the number: ");

for(i=4;i>=0;i--)
{
printf("%d",num[i]);
}




/*Part 3: -
Initialize sq as 0*/

for(i=0;i<=4;i++)
{
for(j=0;j<=9;j++)
{
sq[i][j]=0;
}
}

/*Initialize sq1 as all 0s*/

for(i=0;i<=4;i++)
{
for(j=0;j<=9;j++)
{
sq1[i][j]=0;
}
}

printf("\n\nInitially after assigning array to all 0's: -");

/*Print the 2D array after asigning it to 0*/

printf("\n\n");
for(i=0;i<=4;i++)
{
printf("\n");
for(j=0;j<=9;j++)
{
printf("%d",sq[i][j]);
}
}



/* Part 4: -
Multiply the 5 digit number with each of its own digits and storing rowise*/

for(j=0;j<=4;j++)
{
for(i=0;i<=4;i++)
{
dig=num[i]*num[j];
rem=dig%10;
quot=dig/10;
sq[i][j]=sq[i][j]+rem;
if(sq[i][j]>=10)
{
sq[i][j+1]=sq[i][j+1]+(sq[i][j]/10);
sq[i][j]=sq[i][j]%10;
}
sq[i][j+1]=sq[i][j+1]+quot;
}
}

printf("\n\nAfter multiplying the number with each of its respective digits and storing in respective rows: -");

/*Print the array without shifting*/

printf("\n\n");
for(i=0;i<=4;i++)
{
printf("\n");
for(j=0;j<=9;j++)
{
printf("%d",sq[i][j]);
}
}



/*Part 5: -
Applying shift to the array*/

for(i=0;i<=4;i++)
{
for(j=9;j>=0;j--)
{
sq1[i][j+i]=sq[i][j];
}
}

printf("\n\nAfter applying proper shift to the rows of the array: -");

/*Print after applying shift to the array*/

printf("\n\n");
for(i=0;i<=4;i++)
{
printf("\n");
for(j=0;j<=9;j++)
{
printf("%d",sq1[i][j]);
}
}



/* Part 6: -
Initialize result to 0*/


for(i=0;i<=9;i++)
{
result[i]=0;
}

/*add up the coloumns*/

quot=0;
rem=0;
for(j=0;j<=9;j++)
{
for(i=0;i<=4;i++)
{
rs=rs+sq1[i][j];
}
quot=rs/10;
rem=rs%10;
result[j]=result[j]+rem;
rs=quot;
}

printf("\n\nAfter adding up the respective coloumns of the above array \n and reversing the order: -");

/*print the result*/

printf("\n\nThe square of the numer is :- ");

for(i=9;i>=0;i--)
{
printf("%d",result[i]);
}
return 0;
}

Is This Answer Correct ?    2 Yes 11 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

How is a pointer variable declared?

1083


What is huge pointer in c?

1082


What does c value mean?

1188


Why isnt there a numbered, multi-level break statement to break out

1042


Which control loop is recommended if you have to execute set of statements for fixed number of times?

1341


If i have an array 0 to 99 i.e,(Size 100) I place the values 1 to 100 randomly like a[0]=29,a[1]=56 upto array[99].. the values are only between 1 to 100. getting the array values by using scanf.. If i entered one wrong element value line a[56]=108. how can i find it.. and also how to find the missing value in 1 to 100.. and i want to replace the missing values.. any one of them know please post your answer..

2017


When should the register modifier be used? Does it really help?

963


Write a program for Overriding.

1155


What is character constants?

1178


Why do we write return 0 in c?

1049


How can you find the exact size of a data type in c?

999


Should I use symbolic names like true and false for boolean constants, or plain 1 and 0?

1055


How do I convert a string to all upper or lower case?

1105


code for quick sort?

2027


How can I recover the file name given an open stream or file descriptor?

1076