Simple random number guessing game I made this simple game code. Can you please give me some advice on how I can improve it?

#include&lt;stdio.h&gt;
#include&lt;stdlib.h&gt;
#include&lt;conio.h&gt;
#include &lt;time.h&gt;
#include &lt;windows.h&gt;

void main ()
{
    printf("\t\tWelcome to our gessing game\n\n\n");
    printf("the computer choose a random number between 1-99, try to gess the random number...");

    srand(time(NULL));

    int gess,i=0,found=0,  r = rand()%100;

    while (i&lt;10 &amp;&amp; found==0)
    {
        printf("\n My gess is:\t");
        scanf("%d",&amp;gess);
        if (gess==r)
        {
            found=1;
            i++;
        }
        else if(gess&gt;r)
        {
            printf("\n Too big\n");
            i++;
        }
        else if(gess&lt;r)
        {
            printf("\n Too small\n");
            i++;
        }
    }
    if (found==1&amp;&amp;gess==1)
        printf("\n Very good the number is %d this is your %dst gess",gess,i);
    else if(found==1&amp;&amp;gess==2)
        printf("\n very good the number is %d this is your %dnd gess",gess,i);
    else if(found==1&amp;&amp;gess==3)
        printf("\n very good the number is %d this is your %drd gess",gess,i);
    else if(found==1&amp;&amp;gess!=1&amp;&amp;gess!=2&amp;&amp;gess!=3)
        printf("\n very good the number is %d this is your %dth gess",gess,i);
    else
        printf("\n Never mind try again");
    getch();
}
One variable per line please.

int gess,i=0,found=0,  r = rand()%100;


This makes the code hard to read. There is also one corner case (with pointers) were this will not work as expected for beginners. As a result this is usually banned in most companies coding standards.

You are using found as a boolean variable.
Treat it as such. use TRUE/FALSE.

I would change the while() into a for(;;) loop. Then you can remove all the increments.

while (i&lt;10 &amp;&amp; found==0)

--

for(int i = 0; i &lt; 10 &amp;&amp; !found; ++i)


White space is your friend:

if (found==1&amp;&amp;gess==1)  // This is hard to read and will get worse with more conditions.

if (found &amp;&amp; (guess == 1)) // much more readable
//  ^^^^^  boolean use it as such.


Your "st", "nd", "rd", "th" is not correct.

10-19    =&gt; th
x1       =&gt; st
x2       =&gt; nd
x3       =&gt; rd
x[4-9]   =&gt; th


Also you print basically the same string every time on success. So we not have one print statement and just separate the logic for getting the ending.
I would change the logic:

if (!found)
{
    printf("\n Never mind try again");
}
else
{
    char const* ext = "th";
    if ((gess &lt; 10) || (gess &gt;= 20))  // 10-&gt;19 already set
    {
        int end = gess % 10;
        if      (end == 1) { ext = "st";}
        else if (end == 2) { ext = "nd";}
        else if (end == 3) { ext = "rd";} 
    }

    printf("\n Very good the number is %d this is your %d%s gess", gess, i, ext);
}