#include #include #include const char* num_en[]={ "", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"}; void name_num(int num,char* name) { name[0]=0; if (num>=1000){ strcat(name,num_en[num/1000]); strcat(name," thousand "); num %= 1000; if (num>0 && num<100) strcat(name,"and "); } if (num>=100){ strcat(name,num_en[num/100]); strcat(name," hundred "); num %= 100; if (num>0){ strcat(name,"and "); } } if (num>20){ strcat(name,num_en[20-2+num/10]); num %= 10; if (num>0) strcat(name,"-"); strcat(name,num_en[num%10]); }else{ strcat(name,num_en[num]); } } int count_letters(char* s) { char *p; int count=0; for (p=s; *p; ++p){ if (islower(*p)){ ++count; } } return count; } int main() { int n,i,len,total_len=0; char num_en[100]; for (i=1;i<=1000;++i){ name_num(i,num_en); len = count_letters(num_en); total_len += len; //printf("%s %d\n",num_en,len); } printf("%d\n",total_len); return 0; }