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

What is else if ladder?

794


in any language the sound structure of that language depends on its a) character set, input/output function, its control structures b) character set, library functions, input/output functions its control structures c) character set, library functions, control sturctures d) character set, operators, its control structures

925


Is there anything like an ifdef for typedefs?

889


What is bin sh c?

775


How many identifiers are there in c?

765


What are the different types of constants?

830


Are the expressions * ptr ++ and ++ * ptr same?

859


Why does everyone say not to use gets?

795


largest Of three Number using without if condition?

1254


Are pointers integers in c?

804


Is there any data type in c with variable size?

849


What are pointers really good for, anyway?

804


which is an algorithm for sorting in a growing Lexicographic order

1577


What is an array in c?

774


Write a function which takes as parameters one regular expression(only ? and * are the special characters) and a string and returns whether the string matched the regular expression.

849