Программа не выводит ответ с типом float - C (СИ)
Формулировка задачи:
в общем написал функцию которая берет элементы из файла и взависимости от значения элемента считает одну из 3 формул. Нужно чтобы ответ был c типом float, но почему то так не работает.
Вот собственно код функции:
Подскажите в чем ошибка
#include <stdio.h>
#include <malloc.h>
#include "file_work.h"
int FunctionG(char *name)
{
int z=CountElem(name);
float*Mas=(float*)malloc(z*sizeof(int));
FILE*fp=fopen(name,"r");
for(int i=0; i<z; i++)
{
fscanf(fp,"%d ", &Mas[i]);
}
float var1[100];
for(int i=0;i<z;i++)
{
if(Mas[i]<5)
{
var1[i]=5*Mas[i];
printf("Y[%d]= %f\n", i,var1[i]);
}
else if(Mas[i]>=5 && Mas[i]<=30)
{
var1[i]=(Mas[i]-5)/Mas[i];
printf("Y[%d]= %f\n", i,var1[i]);
}
else if(Mas[i]>30)
{
var1[i]=10*Mas[i]/3;
printf("Y[%d]= %3.f\n", i,var1[i]);
}
}
fclose(fp);
return 0;
}Решение задачи: «Программа не выводит ответ с типом float»
textual
Листинг программы
std::cout << a / 3;
Объяснение кода листинга программы
В данном коде на языке C происходит следующее:
a- переменная типа float, которая содержит значение 1.03- константа, которая содержит значение 3a / 3- операция деления переменнойaна константу3- Результат операции
a / 3сохраняется в переменной типа float std::cout- функция вывода данных на консоль<<- оператор передачи данных в функцию выводаa / 3- передача результата операции в функцию вывода- Функция вывода выводит результат операции на консоль.
Таким образом, код выводит на консоль значение переменной
aделенное на 3.