Не смог воспроизвести ошибки «считается криво»:
#include <stdio.h>
#include <ctype.h>
int main()
{
freopen("input.txt","r",stdin);
char c;
int n = 0;
int min = 1000;
while (scanf("%c", &c) == 1)
{
if(isalpha©)
n++;
else
{
if(n<min && n>1)
min=n;
n=0;
}
}
printf("%d", min);
fclose (stdin);
return 0;
}
[frol:~]$ cat input.txt; c++ qq.c -o qq; ./qq
_Hello worldq
5
[frol:~]$ cat input.txt; c++ qq.c -o qq; ./qq
Hello worldq
5
[frol:~]$ cat input.txt; c++ qq.c -o qq; ./qq
Hello, worldq
5
[frol:~]$ cat input.txt; c++ qq.c -o qq; ./qq
Hello, the worldq
3
[frol:~]$ cat input.txt; c++ qq.c -o qq; ./qq
Hello, the world!
3