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

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

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

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

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

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
void inplace_reverse(char * string) {
    if (string) {
        char * end = string + strlen(string) - 1;
 
#define XOR_SWAP(a,b) do\
        {\
          a ^= b;\
          b ^= a;\
          a ^= b;\
        } while (0)
 
        while (string < end) {
            XOR_SWAP(*string, *end);
 
            string++;
 
            end--;
        }
#undef XOR_SWAP
    }
}
 
void strrev(char *buffer) {
  char *temp = buffer;
 
  while(temp && *temp) {
      ++temp;
  }
 
  for(--temp; buffer < temp; ++buffer, --temp)
    *buffer = *buffer ^ *temp,
    *temp = *buffer ^ *temp,
    *buffer = *buffer ^ *temp;
}
 
int main(void) {
    int a = 12389329;
    char buf[1024];
 
    sprintf(buf, "%d", a);
 
    printf("Число: %s\n", buf);
 
    strrev(buf);
 
    printf("Число: %s\n", buf);
 
    FILE* fd = fopen("file/number.txt", "w");
 
    if (fd == NULL) {
        printf("Ошибка открытия файла!\n");
 
        exit(1);
    }
 
    fprintf(fd, "%s\n", buf);
 
    fclose(fd);
 
    return EXIT_SUCCESS;
}

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


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

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

12   голосов , оценка 4.25 из 5
Похожие ответы