Как записать число в строку? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Только начал изучать программирование. Задали задачу. Есть число а = 12389329, есть массив buf[1024]. Надо записать число в массив в виде строки и записать число в файл. Создал цикл, но проблема в том, что цифры "выходят" в обратном порядке. Что мне сделать дальше? Помогите пожалуйста!
Листинг программы
  1. #include <stdio.h>
  2. void main (void)
  3. {
  4. int a = 12389329;
  5. char buf[1024];
  6. while (a > 0)
  7. {
  8. b = a % 10;
  9. a /= 10;
  10. b += 48;

Решение задачи: «Как записать число в строку?»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. void inplace_reverse(char * string) {
  6.     if (string) {
  7.         char * end = string + strlen(string) - 1;
  8.  
  9. #define XOR_SWAP(a,b) do\
  10.         {\
  11.           a ^= b;\
  12.           b ^= a;\
  13.           a ^= b;\
  14.         } while (0)
  15.  
  16.         while (string < end) {
  17.             XOR_SWAP(*string, *end);
  18.  
  19.             string++;
  20.  
  21.             end--;
  22.         }
  23. #undef XOR_SWAP
  24.     }
  25. }
  26.  
  27. void strrev(char *buffer) {
  28.   char *temp = buffer;
  29.  
  30.   while(temp && *temp) {
  31.       ++temp;
  32.   }
  33.  
  34.   for(--temp; buffer < temp; ++buffer, --temp)
  35.     *buffer = *buffer ^ *temp,
  36.     *temp = *buffer ^ *temp,
  37.     *buffer = *buffer ^ *temp;
  38. }
  39.  
  40. int main(void) {
  41.     int a = 12389329;
  42.     char buf[1024];
  43.  
  44.     sprintf(buf, "%d", a);
  45.  
  46.     printf("Число: %s\n", buf);
  47.  
  48.     strrev(buf);
  49.  
  50.     printf("Число: %s\n", buf);
  51.  
  52.     FILE* fd = fopen("file/number.txt", "w");
  53.  
  54.     if (fd == NULL) {
  55.         printf("Ошибка открытия файла!\n");
  56.  
  57.         exit(1);
  58.     }
  59.  
  60.     fprintf(fd, "%s\n", buf);
  61.  
  62.     fclose(fd);
  63.  
  64.     return EXIT_SUCCESS;
  65. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.25 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы