math.c
来自「Source code for driving RFM01 fm radio r」· C语言 代码 · 共 56 行
C
56 行
// Testowanie biblioteki funkcji matematycznych
#include <avr/io.h> // dost阷 do rejestr體
#include <math.h> // funkcje matematyczne
#include <stdio.h> // standardowe wej渃ie/wyj渃ie
#include "uart.h" // obs硊ga portu szeregowego
//----------------------------------------------------------
int main(void) // program g丑wny
{
float a,b,c,delta,sqrt_delta,x1,x2;
UART_init(); // inicjalizacja portu szeregowego
fdevopen(UART_putchar, UART_getchar, 0);
printf_P(PSTR("Test biblioteki matematycznej\r\n"));
while(1) // p阾la niesko馽zona
{
printf_P(PSTR("\r\nRownanie kwadratowe"));
printf_P(PSTR("\r\nPodaj wpolczynnik a: "));
scanf("%f",&a);
printf_P(PSTR("\r\nPodaj wpolczynnik b: "));
scanf("%f",&b);
printf_P(PSTR("\r\nPodaj wpolczynnik c: "));
scanf("%f",&c);
printf_P(PSTR("\r\nPostac rownania: %fx^2+%fx+%f=0"), a, b, c);
delta=b*b-4*a*c;
a*=2; // od tej pory a nie jest potrzebne
// wpisujemy tam 2*a
printf_P(PSTR("\r\nDelta: %f"),delta);
if (delta<0)
{
printf_P(PSTR("\r\nDelta mniejsza od zera - brak pierwiastkow!!!"));
}
else if (delta==0)
{
printf_P(PSTR("\r\nDelta rowna zero - jeden pierwiastek"));
x1=-b/a;
printf_P(PSTR("\r\nx=%f\r\n"),x1);
}
else
{
printf_P(PSTR("\r\nDelta wieksza od zera - dwa pierwiastki!!!"));
sqrt_delta=sqrt(delta);
x1=(-b-sqrt_delta)/a;
printf_P(PSTR("\r\nx1=%f"),x1);
x2=(-b+sqrt_delta)/a;
printf_P(PSTR("\r\nx2=%f"),x2);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?