Multiplication tables: Difference between revisions

Add C - Paddy always beats me to adding Python
(add Ruby)
(Add C - Paddy always beats me to adding Python)
Line 40:
</pre>
 
=={{header|C}}==
<lang c>#include <math.h>
#include <stdio.h>
 
int main(int argc, char *argv[])
{
int max = 12;
char format[8];
char format2[8];
int dgts;
int i,j;
 
dgts = (int)(.99+ log(1.0*max*max)/log(10.0));
sprintf(format," %%%dd", dgts);
sprintf(format2,"%%%ds%%c", dgts);
 
printf(format2,"",'x');
for (i=1; i<=max; i++) printf(format,i);
printf("\n\n");
 
for (j=1; j<=max; j++) {
printf(format,j);
for(i=1; i<j; i++) printf(format2,"",' ');
for(i=j; i<=max; i++) printf(format, i*j);
printf("\n");
}
printf("\n");
return 0;
}</lang>
Output:
<pre> x 1 2 3 4 5 6 7 8 9 10 11 12
 
1 1 2 3 4 5 6 7 8 9 10 11 12
2 4 6 8 10 12 14 16 18 20 22 24
3 9 12 15 18 21 24 27 30 33 36
4 16 20 24 28 32 36 40 44 48
5 25 30 35 40 45 50 55 60
6 36 42 48 54 60 66 72
7 49 56 63 70 77 84
8 64 72 80 88 96
9 81 90 99 108
10 100 110 120
11 121 132
12 144
 
</pre>
=={{header|C++}}==
This is a slightly more-generalized version that takes any minimum and maximum table value, and formats the table columns.
Anonymous user