아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
길쭉한파랑새106
길쭉한파랑새10621.04.22

프로그램 만들다가 질문 좀요 ㅠㅠ

실수를 하나 입력받아서 그 값에 100을 곱한 결과를 구해서 출력하는 프로그램을 만들려고 하는데 혹시 이렇게 짜는게 아닌가요? 오류값좀 고쳐주세요ㅠㅠ 어렵네요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ

55글자 더 채워주세요.
답변의 개수
4개의 답변이 있어요!
  • 안녕하세요,

    scanf로 받은 실수를 100 곱는거로 질문 주셨는데,

    받는 부분까지는 잘 구현하셨습니다ㅎㅎ

    다만 받은 값에 값을 곱하는 부분에 문제가 조금 있는데요

    a << 50 이 아닌 a * 100 으로 수정해주시면 됩니다.

    c++에서 곱셈은 '*'를 사용해서 진행합니다.

    질문자님이 사용하신 '<<'는 비트 연산자로 변수의 비트값을 계산하는데 사용됩니다.

    따라서, printf 부분만 아래처럼 바꿔주시면 되겠습니다!

    printf("%f", a * 100);

    감사합니다.


  • 실수형은 %f가 아니라 %lf 써주셔야 할듯 싶어요

    scanf_s(“%lf” , &a);

    그런데 오류 내용을 보니 위에 부분이 아닌거 같으니 일단 두시고

    입력받은 실수에 100을 곱하시려면

    a>>100이 아니라 a*100 을 하셔야 할 것 같습니다.

    >> 와 <<는 쉬프트연산자라서 오류 발생하네요


  • c에서 실수에 값을 곱할 때는 * 산술 연산자를 사용해서 곱하면 됩니다.

    위에 시도하신 << 연산자는 비트 연산자 중 shift연산자인데 무얼 시도하려 했는지 궁금하네요.

    #include <stdio.h>

    int main(void){

    float a;

    scanf_s("%f", &a);

    printf("%f", a*100);

    return 0;

    }

    이미지 첨부 합니다. 참고 하세요


  • 안녕하세요

    printf 에서 출력해주는 곱하기 수식이 << 로 되어있는데요.

    해당 부호는 shift 연산입니다.

    관련 부호는 곱셈이 아닙니다.

    100을 곱하고 싶으시면 a*100 이라고 쓰시는게 적합해 보이네요.

    그리고 float a; 라고 선언되어있는데요.

    초기화가 필요해보입니다.

    float a =0; 이런식으로 초기화도 해보시고, 오류가 발생하면 관련 오류 다시 붙여주세요