- 1
hey, I need Some help regarding a C program in C language
I am Trying to creat a program using for loop for find the perfect square but I getting set backs. #include <stdio.h> //Compiler version gcc 6.3.0 int main() { printf("Enter the Square......\n"); int a,b,i; scanf("%d",&a); b==a/2; for( i=1; i>=b; i++) { if(a/i==i) { printf("The No is perfect square square\n"); break; } else { printf("The No is not perfect square"); } } return 0; } This is my code And I wants that if the condition is full fill in the if Block. It should not go to If else blocks.
6 Answers
0
Totally correct devanille well spotted!
Change from:
if(a/i=i)
to become:
if(i*i==a)
+ 2
HungryTradie Thanks for your help Man. I really appreciate that..
Mate
+ 1
what does that b==a/2 do?
+ 1
G'day Priyanshu Raj as Cristian Gabriel Mazzulla said:
b==a/2;
That is a check, not an assignment.
When I see = I say "is", when I see == is say "is equal".
you want:
b=a/2;
your for code starts at i=1, runs if i is greater or equal to b (not true, never runs) then increments by i+1.
you want:
for (i=1 ; i<=b ; i++)
I'm not sure about the rest of the math in your code, is that gunna work?
+ 1
G'day again Priyanshu Raj
I had a go with your code, it was pretty close to perfect. Nicely done!
I added an else if to check for i==b before printing the failure message.
I also changed the if - else if - else so it looped without printing anything when not finished incrementing.
https://code.sololearn.com/cNg8Fp2YgBu6/?ref=app
0
It's Divide the the the square by 2.