Real Vim ninjas count every keystroke - do you?

Pick a challenge, fire up Vim, and show us what you got.

Changelog, Rules & FAQ, updates: @vimgolf, RSS.

Your VimGolf key: please sign in

$ gem install vimgolf
$ vimgolf setup
$ vimgolf put 59553bd164628d0009000038

Missing Library and a Typo

I forgot to add a c library, please add it for me. Also I'm bad at typing so fix my typo too.

Start file
#define MIN_NUMBER 1
#define MAX_NUMBER 100
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

int getGuess(){
    int c;
    int guess = 0;

    while(guess < MIN_NUMBER || guess > MAX_NUMBER){
        printf("Guess: ");
        scanf("%d", &guess);

        while((c = getchar()) != '\n' && c != EOF);
    }

    return guess;
}

int main(){
    srand(time(NULL));
    int number = rand()%(MAX_NUMBER-MIN_NUMBER+1)+MIN_NUMBER;

    printf("Let's start a game.\n");
    printf("I've picked a number between %d and %d\n",MIN_NUMBER,MAX_NUMBER);
    printf("Guess what it is and I'll tell you \n");
    printf("if it's higher or lower.\n");
    printf("You win if you guess it in 7 turns or less\n\n");

    int turn;
    for(turn = 0; turn < 7; turn++){
        int guess = getGuess();
        assert(guess>=MIN_NUMBER && guess<=MAX_NUMBER);

        if(guess < number){
            printf("Higher\n\n");
        }else if(guess > number){
            printf("Lower\n\n");
        }else{
            break;
        }
    }

    if(turn < 7)
        printf("\nYou Win!\n");
    else
        printf("You Lose the answer was %d.\n", number);

    return 0;
}
// I think I forgot to include the library assetr
End file
#define MIN_NUMBER 1
#define MAX_NUMBER 100
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <assert.h>

int getGuess(){
    int c;
    int guess = 0;

    while(guess < MIN_NUMBER || guess > MAX_NUMBER){
        printf("Guess: ");
        scanf("%d", &guess);

        while((c = getchar()) != '\n' && c != EOF);
    }

    return guess;
}

int main(){
    srand(time(NULL));
    int number = rand()%(MAX_NUMBER-MIN_NUMBER+1)+MIN_NUMBER;

    printf("Let's start a game.\n");
    printf("I've picked a number between %d and %d\n",MIN_NUMBER,MAX_NUMBER);
    printf("Guess what it is and I'll tell you \n");
    printf("if it's higher or lower.\n");
    printf("You win if you guess it in 7 turns or less\n\n");

    int turn;
    for(turn = 0; turn < 7; turn++){
        int guess = getGuess();
        assert(guess>=MIN_NUMBER && guess<=MAX_NUMBER);

        if(guess < number){
            printf("Higher\n\n");
        }else if(guess > number){
            printf("Lower\n\n");
        }else{
            break;
        }
    }

    if(turn < 7)
        printf("\nYou Win!\n");
    else
        printf("You Lose the answer was %d.\n", number);

    return 0;
}
// I think I forgot to include the library assert

View Diff

5a6
> #include <assert.h>
52c53
< // I think I forgot to include the library assetr
---
> // I think I forgot to include the library assert

Solutions

The best way to learn is to practice. Below, you will find some of the solutions other golfers have entered. To unlock higher ranked solutions, submit your own entry which does as well or better than the solutions you can currently see - climb the ladder!

Check out these helpful resources to improve your Vim skills... Game on.

Unlock 166 remaining solutions by signing in and submitting your own entry
#167 Bennett Bernardoni / @BBernardoni - Score: 115 - 06/29/17 @ 17:42
jjjjo#include <assert.h><Esc>jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjlllllllllllllllllllllllllllhhcwassert<Esc>:x<CR>

@BBernardoni: Sorry for the resubmissions. I caught several solution that I didn't want to be possible. This should be the last one, even if I did miss something.

@zulolosi: You forget to add a header file .h, not a library

@BBernardoni: Yeah, you're right. I meant I forgot to include the header file for a library.

@zulolosi: https://stackoverflow.com/questions/3996651/what-is-compiler-linker-loader

@BBernardoni: I did miss something. My intended solution was "G$xP9%YpWlcwa<C-P><Esc>ZZ" but I forgot 5G would do the same as 9%. In order to do that though I would have had to make the file 101 lines long.

@zulolosi: Nice 9% to have a different approach ...

6 comments


Created by: @BBernardoni

167 active golfers, 644 entries

Leaderboard (lowest score wins):
21
#121 - Paul Inc / @hiniol1982

07/18/2017 at 07:19PM

21
#122 - Sinthorion / @sinthorion

08/03/2017 at 03:35PM

21
#123 - Daniel / @0x9ABC

08/15/2017 at 04:25PM

21
#124 - Saul Hardman / @saulhardman

08/16/2017 at 09:06AM

21
#125 - Adam Ko┼╝uch / @adamkozuch

08/21/2017 at 08:10AM

21
#126 - Geoff / @RealGeoffErwin

09/28/2017 at 08:38PM

21
#127 - George Angelopoulos / @g_usermod

11/22/2017 at 01:14PM

21
#128 - c0llision / @sh3llcode

01/26/2018 at 01:07PM

21
#129 - Jonathan Camilleri / @Too_Many_Taken

05/26/2018 at 11:10AM

21
#130 - Majsmanne / @Majsmanne

06/21/2018 at 04:53AM

21
#131 - niwatoco / @yoshitune9

07/19/2018 at 07:14PM

22
#132 - Emmanuel Denloye-Ito / @EmmanuelDenloye

06/29/2017 at 07:59PM

22
#133 - Ezra Zigmond / @ezrazig

06/29/2017 at 08:20PM

22
#134 - Nick Amin / @thenamin

07/04/2017 at 07:20PM

22
#135 - Onse / @real_onse

07/31/2017 at 07:22AM

22
#136 - h43z / @h43z

10/03/2017 at 10:56PM

22
#137 - sehe / @sehetw

10/10/2017 at 01:59PM

22
#138 - Ron Alexssen / @Ralexhere

10/13/2017 at 11:42PM

22
#139 - Tim Varley / @varleti

11/01/2017 at 02:27PM

22
#140 - mass / @mass256

07/10/2018 at 08:25AM

22
#141 - Nougatine Naja / @NougatineNaja

07/20/2018 at 07:44PM

23
#142 - Ben Hill / @KaizenSoze70

06/29/2017 at 06:30PM

23
#143 - Daniel K. / @lan4k

06/29/2017 at 07:42PM

23
#144 - Nathan Gober / @thegobernador

06/29/2017 at 07:49PM

23
#145 - Miki Tebeka / @tebeka

06/30/2017 at 04:06AM

23
#146 - Sebastian Aburto / @saburto_m

10/08/2017 at 07:01PM

23
#147 - Apox / @apox159

07/20/2018 at 07:40PM

24
#148 - grigouille / @grigouille2

06/30/2017 at 07:42PM

24
#149 - Andrei Gasparovici / @agasparovici

07/06/2017 at 04:02PM

24
#150 - Marcin Paliwoda / @eukaliptuss

08/25/2017 at 01:31PM