0

This question is in hackerrank conditional statements and i wanted to solve it without using array.The code runs but gives wrong output. Can anyone see what is the mistake in this code , Why would it not work?

#include <bits/stdc++.h>

using namespace std;


int n ;
cin >> n ;

int main()
{
    int n ;
    cin>>n;
    
    if(n=0){
        cout<<"zero";
    }
    else if(n=1){
        cout<<"one";
    }
    else if(n=2){
        cout<<"two";
    }
    else if(n=3){
        cout<<"three";
    }
    else if(n=4){
        cout<<"four";
    }
    else if(n=5){
        cout<<"five";
    }
    else if(n=6){
        cout<<"six";
    }
    else if(n=7){
        cout<<"seven";
    }
    else if(n=8){
        cout<<"eight";
    }
    else if(n=9){
        cout<<"nine";
    }
    else{
        cout<<"Greater than 9";
    }
    

    return 0;
}
Alex Guteniev
  • 12,039
  • 2
  • 34
  • 79
  • 1
    = is an assignment == is a comparison. Not sure why you have this line: `int n ; cin >> n ;` before `int main()` – drescherjm Aug 21 '21 at 14:32
  • 2
    `#include ` is incompatible with Visual Studio Community / Enterprise/ Pro (which you tagged the question). It may work with VSCode and gcc but that is a different matter. Also a bad practice: [https://stackoverflow.com/questions/31816095/why-should-i-not-include-bits-stdc-h](https://stackoverflow.com/questions/31816095/why-should-i-not-include-bits-stdc-h) – drescherjm Aug 21 '21 at 14:35
  • 1
    Also consider using `switch` or an array. – Aykhan Hagverdili Aug 21 '21 at 14:35

1 Answers1

0

You should use '==' not '=' because "if (n=1)" behaves the same as "if(true)"

== is compare = is assignement

Pepijn Kramer
  • 9,356
  • 2
  • 8
  • 19