Обменяйте цифру 1000 с цифрой 10 с (C)

Я пытаюсь переключиться, например: введите 54321,987, затем 4 и 2 должны переключиться, поэтому выход будет 52341,987. 54321,777 должно стать 52341,777. Если это 2345,777, то должно быть 4325,777. Что-нибудь меньшее, чем это, мне все равно. Но если это было похоже на 888886543.777, то только второе и четвертое числа должны быть переключены с самой правой части перед запятой. Так что стало бы 888884563.777

Так как LearningC предложил, я пытаюсь обменять только цифру 1000 с цифрой 10s.

Но что бы я ни пытался, я получаю ошибки. Я не могу передать ошибки. Как мне это сделать?

То, что я до сих пор работаю, таково:

   int main(int argc, char** argv) {
        double x;
        scanf("%lf", &x);

        double tens = ((int) (x / 10)) % 10;
        double thousands = ((int) (x / 1000)) % 10;

        printf("%09.3f", x += (tens - thousands) * 990.0);
        return 0;
    }

Код выше теперь работает.

Ответы на вопрос(3)

Ваш ответ на вопрос