Обменяйте цифру 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;
}
Код выше теперь работает.