home *** CD-ROM | disk | FTP | other *** search
/ Fish 'n' More 1 / FishNMoreVol1.bin / more / code_examples / librar / jprintf.c < prev    next >
Text File  |  1989-02-08  |  872b  |  41 lines

  1. /*--------------------------------------*/
  2. /*                    */
  3. /*               JPRINTF(X)        */
  4. /*                    */
  5. /* Prints a long integer in the format    */
  6. /* "%ld" with commas.            */
  7. /*                    */
  8. /*--------------------------------------*/
  9. # include "string.h"
  10. # include "stdio.h"
  11. void jprintf(i)
  12. long i;
  13. {
  14.     char r[40],rr[60],*z,zz[60];
  15.     int flag,j,x,y;
  16.     sprintf(r,"%ld",i);
  17.     x=strlen(r);
  18.     if (x<4){
  19.           printf(r);
  20.             exit(0);
  21.     }
  22.     flag=y=0;
  23.     for (j=x-1;j>=0;j--){
  24.              rr[y++]=r[j];
  25.              if (r[j]<47 || r[j]>57)
  26.                  flag=1;
  27.              if (flag==0 && efactor(x-j,3)==0 && j!=0)
  28.                  rr[y++]=',';
  29.     }
  30.     flag=x=rr[y]=0;
  31.     z=strrev(rr);
  32.     for (j=0;j<strlen(z);j++){
  33.              if (z[j]!=44 || flag!=0){
  34.                  flag=1;
  35.                  zz[x++]=z[j];
  36.              }
  37.     }
  38.     zz[x]=0;
  39.     printf(zz);
  40. }
  41.