/* program to calculate large factorials with exact precision
original program by chux, modified by ringzero
*/
#include <stdio.h>
#include <string.h>
char *strfact_mult(char *s, unsigned x)
{
// modified code starts
int len = strlen (s);
int carry = 0;
for ( int i = 1; i <= len; ++i ) {
int product = (s[len - i] - '0') * x + carry;
s[len - i] = product % 10 + '0';
carry = 0;
if ( product > 9 ) {
carry = product / 10;
if ( i == len ) {
++len;
memmove (&s[1], s, len);
s[0] = '0';
}
}
}
// modified code ends
//unsigned sum = 0;
//size_t len = strlen(s);
//size_t i = len;
//while (i > 0) {
// sum += (s[--i] - '0')*x;
// s[i] = sum%10 + '0';
// sum /= 10;
//}
//while (sum) {
// len++;
// memmove(&s[1], s, len);
// s[i] = sum%10 + '0';
// sum /= 10;
//}
return s;
}
char *str_fact(char *dest, unsigned n)
{
strcpy(dest, "1");
while (n > 1) {
strfact_mult(dest, n--);
}
return dest;
}
int main (void)
{
char buf[1000];
puts(str_fact(buf, 0));
puts(str_fact(buf, 1));
puts(str_fact(buf, 5));
puts(str_fact(buf, 50));
}
Для ячейки таблицы нужен текст - выровняйтесь: центр.
текст CSS - выравнивается, свойство должно быть объявлено на родительском элементе а не элементе, который Вы пытаетесь центрировать. IE использует текст - выровняйтесь: центральное свойство для центрирования текста. Firefox использует поле: 0 автоматических и это должны быть объявлены на элементе, который Вы пытаетесь центрировать.
<div style="text-align: center">
<h2 style="margin: 0 auto">Some text</h2>
</div>
Могла бы быть опечатка, но Вы пропускаете точку с запятой здесь:
margin-left:auto; margin-right:auto position:relative;
Должен быть:
margin-left:auto; margin-right:auto; position:relative;
Если это не работает, удостоверьтесь элемент, который Вы пытаетесь центрировать, текст на имеет некоторую ширину. Попытайтесь установить ширину на 100% и посмотрите, изменяется ли что-нибудь.
text-align: center
должно быть достаточным, так как Вы центрируете текст в элементе блока (h2) - корректировка полей сменит положение блока, не текст.
Интересно, просто ли это, что IE имеет плюнувший в макет в этом font
объявление Вы имеете там?
Используйте текст-align:center в div/td, который окружает h2.
<table style = "width:400px;border:solid 1px;">
<tr>
<td style = "text-align:center;"><h2>hi</h2></td>
</tr>
</table>
править: ничего себе, сообщество stackoverflow довольно быстро!