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 193 remaining solutions by signing in and submitting your own entry
#194 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

194 active golfers, 784 entries

Leaderboard (lowest score wins):
16
#91 - Jason Neylon / @jasonneylon

03/08/2020 at 04:14PM

17
#92 - Kai Yuan / @kentyuan

06/29/2017 at 06:01PM

17
#93 - Cristian Lupașcu / @clupasq

06/29/2017 at 07:27PM

17
#94 - Per Forser / @perforcer

06/29/2017 at 08:41PM

17
#95 - flykule / @flykule

06/30/2017 at 08:31AM

17
#96 - Rowan Tree / @RowanTr88447528

07/21/2017 at 09:38AM

17
#97 - Joonas Pihlajamaa / @jokkebk

08/03/2017 at 12:11PM

17
#98 - 郑晓东 / @DGivxLTVopiOQap

09/15/2017 at 02:27AM

17
#99 - F / @gofilby

09/26/2017 at 09:45PM

17
#100 - merphant / @merphant

10/04/2017 at 06:39AM

17
#101 - Florian Kluck / @KluckF

10/27/2017 at 06:54PM

17
#102 - popo5colo / @popo5colo1

10/31/2017 at 10:13PM

17
#103 - Arijus / @argshook

02/09/2018 at 09:39AM

17
#104 - PCS Solutions / @PeteSolutions

08/18/2018 at 10:21PM

17
#105 - phoibos92@gmail.com / @phoibos92

11/13/2018 at 02:56PM

17
#106 - 默罕默德 / @Rt6RjEAJ987Woes

01/22/2019 at 01:18PM

17
#107 - churaki / @churaki

01/30/2019 at 12:10PM

17
#108 - 임덕윤 / @SnLHUF5ZYJXqI1m

01/07/2020 at 10:43PM

18
#109 - Kieron Browne / @KieronBrowne1

06/29/2017 at 06:11PM

18
#110 - Brendan G / @Brendan314

06/30/2017 at 03:18PM

18
#111 - Jacob Buete / @JBuete

07/03/2017 at 01:56AM

18
#112 - Andreas Bricelj / @mcbric

07/04/2017 at 07:55PM

18
#113 - Scott Mills / @smm1729

07/08/2017 at 07:21PM

18
#114 - apartment1812 / @apartment18121

07/13/2017 at 03:40AM

18
#115 - Ewoud Smeur / @Ewoud90

07/17/2017 at 08:50AM

18
#116 - Jonathan Eidsness / @jonathaneidsnes

07/25/2017 at 04:59PM

18
#117 - Bruce Park / @bpark0

08/28/2017 at 01:59AM

18
#118 - Philipp Aeschbach / @ihbmifqerg

11/22/2017 at 04:34PM

18
#119 - Sebastian Wieland / @oktupol

01/19/2018 at 02:42PM

18
#120 - Bart Reynolds / @bartums

03/01/2018 at 05:26AM