Zauważ, że gdy k != 0 i liczba < 2 kod wypisze 2 razy tak. Przykład:
2
5
2
Najprościej byłoby wyzerować k:
#include <iostream>
int k;
int ile;
int liczba;
using namespace std;
int main()
{
cin>>ile;
for(int i=0; i<ile; i++)
{
cin>>liczba;
if (liczba==2) cout<<"TAK"<<endl;
if (liczba<2) cout<<"NIE"<<endl;
for(int e=2; e<liczba; e++)
{
k=liczba%e;
if(k==0) {cout<<"NIE"<<endl; break;}
}
if(k!=0) cout<<"TAK"<<endl;
k = 0;
}
return 0;
}
Mógłbyś również rozdzielić logikę sprawdzania liczby od wypisywania wyniku (patrz typ bool).