• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    해결됨

질문드립니다

20.12.30 19:06 작성 조회수 151

1

#include <stdio.h>

int main(){

int n,i,cnt=0;

scanf("%s",&n);  

for(i=1;i<=n;i++){

if(i>=1 && i<10)

      cnt++;

     else  if(i>=10 && i<100)

  cnt=cnt+2;

else if(i>=100 && i<1000)

  cnt=cnt+3;

  else if(i>=1000 && i<10000)

  cnt=cnt+4;

  else

  cnt=cnt+5;  

  }

  

  printf("%d",cnt);

return 0;}

이 코드를 사용하면 입력된 숫자값의 자리수를 카운팅해줘서 될꺼같은데 출력값이 다르게 나오네요 이유가 무엇인지 궁금합니다..

답변 1

답변을 작성해보세요.

1

안녕하세요^^

정수를 입력받을때는 scanf("%d",&n);  입니다.