프로그래밍

 3198, 1/160 회원가입  로그인  
   jkh0721
   c언어 실행값이 이상해요

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3355 [복사]


아래 소스대로 실행하면 오류는 없는데 표준체중 값만 이상해요


#include<stdio.h>
int main(void)
{
        double a,b,c,d;
        char e;

        printf("키 입력: \n");
        scanf("%f", &a);
        printf("몸무게 입력: \n");
        scanf("%f", &b);


    c=(a-100)*0.9;
        d=b/c*100.0;
        

        printf("표준체중은 %f다  \n",c);
        
        printf("비만도는 %f다 \n",d);
        

        if(d>90 && d<110){
        printf("판정 p",&e);
        scanf("%c", &e);
        }
        else{
        printf("판정 n", &e);
        scanf("%c", &e);
        }

        return 0;
}

두번째 것도 오류는 없는데  실행하면 2개의 정수 계산한 값 옆에 이상한 숫자가 붙어요  제발도와주세요

#include<stdio.h>
int main(void)
{
int a, b;
int n;
char c;
  

printf("a와 b를 입력 \n");
printf("a 연산의종류 b: \n");
scanf("%d %c %d", &a, &c, &b);

  if(c=='+'){
n=a+b;
printf("%d+%d= %d", n);
        
   }
   else if(c=='-'){
  n=a-b;
  printf("%d-%d= %d",n);
      
   }
   else if(c=='*'){
  n=a*b;
  printf("%d*%d= %d", n);
      
   }
   else if(c=='/'){
  n=a/b;
  printf("%d/%d= %d", n);
      
}
   else if(c=='%'){
  n=a%b;
  printf("%d % %d= %d", n);
      
   }
   else if(c=='&'){
  n=a&b;
  printf("%d & %d= %d", n);
        
   }
   else if(c=='^'){
  n=a^b;
  printf("%d^%d= %d", n);
      
   }
   else if(c=='||'){
  n=a||b;
  printf("%d||%d= %d", n);
  
   }

return 0;
}
*/

#include<stdio.h>
int main(void)
{
        int a,b,c;

        printf("본봉, 근무년수 입력: ");
        scanf("%d, %d", &a,&b);

                if(b<5){
                        c=a%30;
                        printf("%d%30=%d", c);
                        
                }
                else if(b<10){
            c=a%50;
            printf("%d%50=%d", c);
                        
                }

                else if(b<15){
                        c=a%100;
                        printf("%d%100=%d", c);
                        
                }
                else if(b<20){
                        c=a%150;
                        printf("%d%150=%d", c);
                        
                }
                else if(b>20){
                        c=a%200;
                        printf("%d%200=%d", c);
                        
                }

                printf("보너스 금액은 %d 다", c);
                

                return 0;

  Hit : 5825     Date : 2012/03/24 08:52



    
jkh0721 정말 정말 감사합니다 2012/03/25  
jkh0721 추가로 2번째 3번째도 알려줬으면 좋겠습니다 2012/03/25  
SKTCTO 두번째는 scanf("%d %c %d", &a, &c, &b); 순서가 틀린거 같은데요
scanf("%d %d %c", &a, &b, &c); 겟죠, c가 char로 변수정했으니까 c오는거구요
그리고 맨밑에 */ 주석 지우시구요
if(c=='+'){
n=a+b;
printf("%d+%d= %d", n);에선

if(c=='+'){
n=a+b;
printf("%d+%d= %d",a, b, n);으로 모두 고치시구요
2012/03/25  
jkh0721 감사합니다. 3번째 문제도 역시 오류는 없는데 실행값에서 보너스가 이상하게 나옵니다.
printf("%d%30=%d", c); 이 파트도 printf("%d%30=%d", a,b,c); 로 바꿨는데도 이상합니다
2012/03/25