Multiplication tables: Difference between revisions

m
→‎{{header|C}}: using the * instead of sprintf in formats (reformatting as consequence of editing with emacs...)
(added Fortran)
m (→‎{{header|C}}: using the * instead of sprintf in formats (reformatting as consequence of editing with emacs...))
Line 52:
<lang c>#include <math.h>
#include <stdio.h>
 
int main(int argc, char *argv[])
{
int max = 12;
const char *format[8] = " %*d";
const char *format2[8] = "%*s%c";
int dgts;
int i,j;
 
dgts = (int)(.99+ log10(1.0*max*max));
sprintf(format," %%%dd", dgts);
sprintfprintf(format2, dgts, "%%%ds%%c", dgts'x');
for (i=1; i <= max; i++) printf(format, dgts, i);
 
printf(format2,"",'x');
for (i=1; i<=max; i++) printf(format,i);
printf("\n\n");
 
for (j=1; j<=max; j++) {
printf(format, dgts, j);
for(i=1; i<j; i++) printf(format2, dgts, "",' ');
for(i=j; i<=max; i++) printf(format, dgts, i*j);
printf("\n");
}
printf("\n");