Есть ли способ получить ассоциативный массив, сгруппированный по значениям указанного столбца с PDO?

Я только начал учить себя C из книги KN King's C Programming: A Modern Approach (2ndEdn).

Мне это нравится, но я надеюсь разместить здесь странный вопрос, чтобы получить совет, если это уместно, потому что, к сожалению, у меня нет репетитора, и некоторые фрагменты вызывают больше вопросов, чем они отвечают!

Я задаю вопрос при взятии введенного целого числа и отображении его в восьмеричном формате. Он говорит, что есть простой способ сделать это, но это будет позже в книге. Я придумал следующее:

// Convert a number to octal

int n, n2, n3, n4, n5, n6;

printf("Enter a number between 0 and 32767: ");

scanf("%d", &n);

n6 = n % 8;
n5 = (n / 8) % 8;
n4 = ((n / 8) / 8) % 8;
n3 = (((n / 8) / 8) / 8) % 8;
n2 = ((((n / 8) / 8) / 8) / 8) % 8;

printf("%d%d%d%d%d", n2, n3, n4, n5, n6);

Это работает нормально, но я плохо разбираюсь в математике, и мне было интересно, есть ли более эффективный способ сделать это, или я сделал это единственно возможным способом ...

Если у кого-то еще есть книга, это Q4 стр.71.

Спасибо за ваше время. но я надеюсь опубликовать здесь странный вопрос для совета, если это уместно, потому что ...

Я только начал учить себя Си из книги К.Н. Кинга «Программирование на Си: современный подход» (2ndEdn).

Мне это нравится, но я надеюсь разместить здесь странный вопрос, чтобы получить совет, если это необходимо, потому что, к сожалению, у меня нет репетитора, и некоторые фрагменты вызывают больше вопросов, чем они отвечают!

Я задаю вопрос при взятии введенного целого числа и отображении его в восьмеричном формате. Он говорит, что есть простой способ сделать это, но он будет позже в книге. Я придумал следующее:

// Convert a number to octal

int n, n2, n3, n4, n5, n6;

printf("Enter a number between 0 and 32767: ");

scanf("%d", &n);

n6 = n % 8;
n5 = (n / 8) % 8;
n4 = ((n / 8) / 8) % 8;
n3 = (((n / 8) / 8) / 8) % 8;
n2 = ((((n / 8) / 8) / 8) / 8) % 8;

printf("%d%d%d%d%d", n2, n3, n4, n5, n6);

Это работает нормально, но я плохо разбираюсь в математике, и мне было интересно, есть ли более эффективный способ сделать это, или я сделал это единственно возможным способом ...

Если у кого-то еще есть книга, это Q4 стр.71.

Спасибо за ваше время. но я надеюсь опубликовать здесь странный вопрос для совета, если это уместно, потому что ...

Я только начал учить себя Си из книги К.Н. Кинга «Программирование на Си: современный подход» (2ndEdn).

Мне это нравится, но я надеюсь разместить здесь странный вопрос, чтобы получить совет, если это необходимо, потому что, к сожалению, у меня нет репетитора, и некоторые фрагменты вызывают больше вопросов, чем они отвечают!

Я задаю вопрос при взятии введенного целого числа и отображении его в восьмеричном формате. Он говорит, что есть простой способ сделать это, но это будет позже в книге. Я придумал следующее:

// Convert a number to octal

int n, n2, n3, n4, n5, n6;

printf("Enter a number between 0 and 32767: ");

scanf("%d", &n);

n6 = n % 8;
n5 = (n / 8) % 8;
n4 = ((n / 8) / 8) % 8;
n3 = (((n / 8) / 8) / 8) % 8;
n2 = ((((n / 8) / 8) / 8) / 8) % 8;

printf("%d%d%d%d%d", n2, n3, n4, n5, n6);

Это работает нормально, но я плохо разбираюсь в математике, и мне было интересно, есть ли более эффективный способ сделать это, или я сделал это единственно возможным способом ...

Если у кого-то еще есть книга, это Q4 стр.71.

Спасибо за ваше время. Эндрю

PS Я посмотрел в поисковике, но не нашел ничего, что делало бы это «медленнее»!

5
задан aussie_aj 19 March 2011 в 11:18
поделиться