From 7e0f021a9aec35fd8e6725e87e3313b101d26f5e Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Sun, 27 Jan 2008 11:37:44 +0100 Subject: Initial import (2.0.2-6) --- reference/C/CONTRIB/SNIP/ord_text.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100755 reference/C/CONTRIB/SNIP/ord_text.c (limited to 'reference/C/CONTRIB/SNIP/ord_text.c') diff --git a/reference/C/CONTRIB/SNIP/ord_text.c b/reference/C/CONTRIB/SNIP/ord_text.c new file mode 100755 index 0000000..6b37721 --- /dev/null +++ b/reference/C/CONTRIB/SNIP/ord_text.c @@ -0,0 +1,33 @@ +/* +** Originally published as part of the MicroFirm Function Library +** +** Copyright 1991, Robert B.Stout +** +** Subset version with modifications suggested by Maynard Hogg +** released to the public domain, 1992 +** +** Function to return ordinal text. +*/ + +static char *text[] = {"th", "st", "nd", "rd"}; + +char *ordinal_text(int number) +{ + if (((number %= 100) > 9 && number < 20) || (number %= 10) > 3) + number = 0; + return text[number]; +} + +#ifdef TEST + +#include + +void main(void) +{ + int i; + + for (i = 0; i < 26; ++i) + printf("%d%s\n", i, ordinal_text(i)); +} + +#endif /* TEST */ -- cgit v1.2.3-54-g00ecf