[adsense1]
실습은 조교가 하더군요..
조교님이.. 생각보다 귀엽더군요.._-;;; 남자조교인데..
프로그래밍 하시는 분들은 다들 그렇게 귀여운건가요???..
조교의 의도는.. 0을 입력받았을 경우, 3항연산자를 써서 검산하라는건데..
저는.. while문으로 돌렸습니다..
가장 확실하잖아요.. 100번을 입력하건 1000번을 입력하건..
0을 입력하면 다시 입력하라고 하는거..
아래 코드는 이차방정식의 해를 구하는 것입니다.. 허근은 안구해요^^;;
그리고 다들 아시겠지만.. 이차방정식은 2차항이 0이 되면 안됩니다..
---------------------------------
#include <stdio.h>
#include <math.h>
//근의공식을 계산한다.
//switch ,case의 경우, case에는 정해진 값만 들어가야 하기 때문에 쓸수가 없다...ㅇㅇㅇㅇ
int main()
{
//이차방정식을 입력받아서 a,b,c,를 계산한다.
//sqrt(변수) --> 제곱근 계산.
//아마도 판별식을 먼저 돌려서 계산한 다음에
//근이 두개인 경우에는 값을 두개로 해야할듯
//변수설정 a,b,c, result. a,b,c는 상수, a는 0이 될수 없다.
//result는 float변수.
//실근이 없을경우 근 없음을 출력한다!
//근의공식 : solution
//근이 두개인 경우에 대해서 sol1, sol2을 도입. 이것은 근이 두개이기 때문이다.
//근이 두개인경우, 근의공식을 더해주고, 빼주고를 두번 계산한다.
int a,b,c;
float result, solution, sol1, sol2;
a = 0;
b = 0;
c = 0;
result = 0;
solution = 0;
sol1 = 0;
sol2 = 0;
printf("근의공식을 계산합니다. 이차 방정식을 만들어야 하므로 값을 입력해주세요, \n");
printf("[a * x^2 + b * x + c = 0] 의 근을 계산합니다. \n");
printf("a의 값을 입력해 주세요. :");
scanf("%d", &a);
while( a == 0 )
{
printf("a의 값은 0이 될 수 없습니다. 다시 입력해 주세요. \n");
scanf("%d", &a);
}
printf("b의 값을 입력해 주세요. :");
scanf("%d", &b);
printf("c의 값을 입력해 주세요. :");
scanf("%d", &c);
printf("방정식은 %d * x^2 + %d * x + %d = 0 입니다. \n", a ,b, c);
solution= (b*b) - (4 * a * c);
if(solution < 0)
{
printf("근의 공식이 0보다 작습니다. 이 경우 실근은 없습니다. \n", solution);
}
if(solution == 0)
{
result = ((-1) * b) / 2;
printf("근의 공식이 0 입니다. 이 경우 실근은 중근을 가지며, 값은 %f 입니다. \n", result);
}
if(solution > 0)
{
sol1 = (((-1) * b) - sqrt(solution)) / 2;
sol2 = (((-1) * b) + sqrt(solution)) / 2;
printf("근의 공식이 %f 로써, 0보다 큽니다. 이 경우 두 실근이 나옵니다. \n", solution);
printf("두 실근은 %f, %f 입니다. \n", sol1, sol2);
}
return 0;
}
-----------------------
[adsense2]















