내가 쓰고있는 프로그램은 C 언어로되어 있습니다. 사용자가 거리를 입력하고, 그 거리에 도달하기 위해 발사체를 쏠 필요가있는 각도를 설정된 속도로 계산합니다. 사람이 매우 도움이 될 것입니다뿐만 아니라 INT 주요로 시작하는 라인을 설명 할 수있는 경우왜 이것이 작동하지 않습니까? C 언어의 프로그램
#include <stdio.h>
#include <math.h>
#define MuzzleVelocity 1000
#define PI (3.141592653589793)
int main (int argc, const char * argv[]) {
float G, meters, tf, angle, range;
G = 9.8; /* M/sec^2 */
printf("Enter the range of Enemy Sub in Meters>");
scanf("%f", &meters);
printf("\nTo hit the sub at %f meters", meters);
angle = (180/PI)* .5* asin(range/((pow(MuzzleVelocity, 2))/G));
printf ("\n Use the angle %f degrees", angle);
return 0;
}
, 나는 주로 이전 문제에서 시작을 편집하고, 내가 입력에 필요하다고 생각 변수를 대체. 올바른 출력은 다음과 같아야합니다
Enter the range of Enemy sub in Meters> XXX.XX
To hit the sub at XXX.XX meters
Use the angle XX.XX
모든 'printf'형식 제어 문자열의 끝에 (시작이 아님) '\ n'을 넣으십시오. 모든 경고와 디버그 정보로 컴파일하십시오 ('gcc -Wall -g'). 디버거 ('gdb')를 사용하십시오. [scanf (3)]의 테스트 결과 (http://man7.org/linux/man-pages/man3/scanf.3.html). 사용중인 모든 기능에 대한 문서를 읽으십시오. –
aruisdante는 정답을 갖고있는 것처럼 보입니다. 정수와 부동 소수점 상수의 차이점을 살펴 보시기 바랍니다. 이 경우 유형 홍보로 인해 이탈합니다. '(1/3) * '이라면 당신의 기대가 저주 될지도 모릅니다. –
Tommy
명령 줄 인수를 사용하지 않으므로'int main (void)'를 쓸 수 있습니다. 만약 그렇게했다면,'int main (int argc, char * argv [])'; 'const'는 의미가 있지만 비표준입니다. –