Среднее арифметическое цифр в числе C++ - Вопросы по С+
  • Чаты 4chT.com в телеграмм
    Наши группы в телеграмм

Вопрос Среднее арифметическое цифр в числе C++

Регистрация
31 Май 2013
Сообщения
68
Репутация
-3
Спасибо
0
Монет
0
Насколько я понимаю для того чтобы найти среднее арифметическое цифр нужно узнать эти цифры. Я знаю только такой метод: c1 = i / 100; но это только для трехзначного числа, проблема в том что пользователь может ввести очень
c2 = (i - c1 * 100) / 10; большое число.
c3 = (i - c1 * 100) % 10;
 
Регистрация
22 Окт 2013
Сообщения
96
Репутация
0
Спасибо
0
Монет
0
// Для любого натурального числа #include <iostream> #include <string> #include <cctype> using namespace std; bool is_number(string line); double average(string line); int main() { cout << "Number: "; string number; cin >> number; if (!is_number(number)) exit(0); auto avg = average(number); cout << "Average: " << avg << endl; cin.ignore(); cin.get(); } bool is_number(string line) { for (auto digit : line) if (!isdigit(digit)) return false; return true; } double average(string line) { auto n = line.length(); auto sum = 0ull; for (auto digit : line) sum += digit - 48; return sum / static_cast<double>(n); }
 
Регистрация
6 Сен 2013
Сообщения
62
Репутация
0
Спасибо
0
Монет
0
идешь циклом пока число > 0; с1 += с%10; c = c / 10; i++; затем после прохода цикла ans = c / i; + нужно добавить проверку на i=0;
 
Сверху Снизу