2016-11-09 3 views
0

Первый семестр CS. Когда я изменяю «% d» на «% f», выход в 10 раз хуже, даже не показывающий строку KPH. На самом деле не уверен, что я делаю неправильно, кроме этого. Это рассказ о том, что происходит, как сейчас.Возврат значения поплавка в функции C

Спасибо за halpz Я n00b

#include<stdio.h> 

float convertToMPH(float KPH); 
float convertToKPH(float MPH); 

int main(void){ 

    int i; 

    puts("Kilometers per hour converted to miles per hour:"); 
    puts("Kph\tMph"); 


    for(i=185; i>=0; i-=5){ 
     printf("%d\t%d\n", i, convertToMPH(i)); 
    } 
} 

float convertToMPH(float KPH){ 
return (float) (KPH/1.609344); 

} 

http://i63.tinypic.com/24mhmk3.png

+0

@Himanshu OP сказал, что он пытался это, но не получил ожидаемый результат. – ameyCU

+0

в функции 'convertToMPH' у вас есть тип аргумента' float', в то время как в цикле вы передаете 'int'. попробуйте 'convertToMPH ((float) i)'. – Himanshu

+0

@ameyCU, см. Комментарий OP в данном ответе. Проблема была такой же, как я упоминал ранее. – Himanshu

ответ

3

Изменить

printf("%d\t%d\n", i, convertToMPH(i)); 

в

printf("%d\t%f\n", i, convertToMPH(i)); 
+0

WOW. Я чувствую себя глупым. Огромное спасибо. – MissAnnThropic

Смежные вопросы