Multiplication tables: Difference between revisions

Content added Content deleted
(GP)
(→‎{{header|C}}: cleanup)
Line 231: Line 231:


=={{header|C}}==
=={{header|C}}==
<lang c>#include <math.h>
<lang c>#include <stdio.h>

#include <stdio.h>
int main()
int main(int argc, char *argv[])
{
{
int max = 12;
int i, j, n = 12;

const char *format = " %*d";
for (j = 1; j <= n || !putchar('\n'); j++) printf("%3d ", j);
const char *format2 = "%*s%c";
for (j = n * 4; j || !putchar('\n'); j--) putchar('-');
int dgts;
int i,j;
dgts = (int)(.99+ log10(1.0*max*max));
printf(format2, dgts, "",'x');
for (i=1; i <= max; i++) printf(format, dgts, 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");
return 0;
}</lang>
Output:
<pre> x 1 2 3 4 5 6 7 8 9 10 11 12


for (i = 1; i <= 12; printf("| %d\n", i), i++)
1 1 2 3 4 5 6 7 8 9 10 11 12
for (j = 1; j <= 12; j++)
2 4 6 8 10 12 14 16 18 20 22 24
if (j < i) printf(" ");
3 9 12 15 18 21 24 27 30 33 36
else printf("%3d ", i * j);
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


return 0;
</pre>
}</lang>output<lang> 1 2 3 4 5 6 7 8 9 10 11 12
------------------------------------------------
1 2 3 4 5 6 7 8 9 10 11 12 | 1
4 6 8 10 12 14 16 18 20 22 24 | 2
9 12 15 18 21 24 27 30 33 36 | 3
16 20 24 28 32 36 40 44 48 | 4
25 30 35 40 45 50 55 60 | 5
36 42 48 54 60 66 72 | 6
49 56 63 70 77 84 | 7
64 72 80 88 96 | 8
81 90 99 108 | 9
100 110 120 | 10
121 132 | 11
144 | 12</lang>


=={{header|C++}}==
=={{header|C++}}==