Un esempio parziale; manca il test se anche la seconda parola si ritrova nella prima:
#include <stdio.h>
#include <conio.h>
int main(int argc, char* argv[]) {
char* s1="bibliotecario";
char* s2="beato con i libri";
int i, j, ct1, ct2;
int long1=strlen(s1), long2=strlen(s2);
for (i=0; i<long1; ++i) {
char c1=s1[i];
if (c1>32) {
ct1=0, ct2=0;
for (j=0; j<long1; ++j) {
if (c1==s1[j]) ct1++;
}
for (j=0; j<long2; ++j) {
if (c1==s2[j]) ct2++;
}
if (ct1!=ct2 || ct2==0)
{
printf("[%c]: %i<>%i\n", c1, ct1, ct2);
break;
}
else
printf("[%c]: %i=%i\n", c1, ct1, ct2);
}
}
if (ct1==ct2)
puts("anagramma?"); // ma la "n" di "con" non è stata presa in considerazione...
else
puts("non è un anagramma");
_getch();
}