Задача на нахождение среднего значения двух чисел - C (СИ)
Формулировка задачи:
Итак, приветствую всех форумчан. Являюсь ну совсем новичком в области программирования, буду спрашивать часто, так как нацелен на наибыстрейшее изучение интересующих вопросов.
К делу:
Задача: Запишите предложение для вычисления среднего арифметического переменных a1
и a2.
ОС Windows, работаю в Sublime Text 3, компилятор MinGW.
Мой код:
Проблема в том, что программа выдает мне абсолютно не то значение, которое ожидается получить. Например, при a1=5 и a2=5 результат вычислений будет равен 2 вместо положенных 5.
Причем эту проблему я локализовал, т.е. причина кроется в неправильном изложении функции scanf. Ибо, когда я присваиваю значения переменным вручную (через оператор присваивания), то результат выдает верный.
Вот и вопрос, как мне корректно описать ввод переменных через функцию scanf в данной ситуации?
Откликнувшимся спасибо огромное.
#include <stdio.h>
void main (void)
{
unsigned char a1=0, a2=0;
float avr=0;
printf("\n%65s\n\n", "The calculation of average value for two variables!");
printf("Input the value of variable a1: ");
scanf("%d", &a1);
printf("a1= %d\n\n", a1);
printf("Input the value of variable a2: ");
scanf("%d", &a2);
printf("a2= %d\n\n", a2);
avr=(a1+a2)/2;
printf("The average value of variables a1 and a2 is: %f", avr);
return;
}Решение задачи: «Задача на нахождение среднего значения двух чисел»
textual
Листинг программы
The calculation of average value for two variables! Input the value of variable a1: 5 a1 = 5 Input the value of variable a2: 10 a2= 10 a1= 0