삼각형의 밑변의 길이와 높이를 입력받아 넓이를 출력하고, “계속하시겠습니까?”에서 하나의 문자를 입력받아 그 문자가 'Y'나'y'이면 작업을 반복하고 다른 문자이면 종료하는 프로그램을 작성하시오. (넓이는 반올림하여 소수 첫째자리까지 출력한다.)
밑변의 길이 = 11
높이 = 5
입력한 삼각형의 넓이는 27.5입니다.
계속하시겠습니까? Y
밑변의 길이 = 10
높이 = 10
입력한 삼각형의 넓이는 50.0입니다.
계속하시겠습니까? N
#include<stdio.h>
int main(int)
{
int mic,noc;
char continu;
float null;
while(1)
{
printf("밑변의 길이 : ");
scanf("%d",&mic);
printf("높이 : ");
scanf("%d",&noc);
null=(float)mic*(float)noc/2;
printf("입력한 삼각형의 넓이는 %1f입니다.\n",null);
printf("계속하시겠습니까? ");
scanf("%c",&continu);
if( (continu=='y')||(continu=='Y'))
continue;
else
break;
}
}
이문제 코드를 이렇게 짯는데 제가 생각하기에는 맞는거 같은데
그냥 계산하고 끝나버리더 라구요 ㅠㅠ 어떤분은
문자를 입력받을 때에는 %c 앞에 공백을 넣어 주어야 엔터, 공백과 같은 구분자를 입력받지 않고 한 개의 문자를 입력받을 수 있다. 예 : scanf(" %c", &문자변수);이렇게 써주셧는데 이해가 잘 안가네요 ㅠㅠ
설명 좀 해주실분 잇나요 ㅠㅠ 제가 프로그램을 Microsoft Visual C++ 2010을 쓰는데 이게 소수점을 %1f\n을 쓰는데도 소수점 변화가 없네요 ㅠㅠ