Посчитать среднее арифметическое всех цифр, которые встречаются в строке. Вывести эти цифры на печать - C (СИ)
Формулировка задачи:
Написать программу в системе Си. С использованием строкового типа. Помогите пожалуйста. Заранее очень благодарен!!!)
Решение задачи: «Посчитать среднее арифметическое всех цифр, которые встречаются в строке. Вывести эти цифры на печать»
textual
Листинг программы
char *s = "a12re456xy";
char *p;
double sum = 0;
int n = 0;
for(p=s; *p; p++)
if (*p >= '0' && *p<='9') {sum += *p - '0'; n++; }
if (n==0) printf("Netu");
else printf ("%f", sum /n);
Объяснение кода листинга программы
- Объявляется указатель на строку s со значением
a12re456xy. - Объявляется указатель на следующий символ в строке p.
- Объявляются переменные sum и n, которые будут использоваться для подсчета суммы и количества цифр соответственно.
- В цикле for, начиная с первого символа строки и до последнего, проверяется, является ли текущий символ цифрой.
- Если символ является цифрой, он добавляется к сумме, а переменная n увеличивается на единицу.
- После цикла проверяется, были ли найдены цифры в строке.
- Если количество цифр равно нулю, выводится сообщение
Netu. - Если количество цифр больше нуля, выводится среднее арифметическое суммы и количества цифр.