LZH

LZH

LZHLZH· 3년

질문c언어 사칙 연산 해보기

리턴값없는 경우 #include <stdio.h> void add(int, int); void sub(int, int); void mul(int, int); void div(int, int); int main() { int i, j,choice; printf("사칙연산을 수행할 두 수를 입력하세요\n"); scanf("%d%d", &i, &j); printf("어떤 연산을 수행하시겠습니까? 1)add, 2)sub, 3)mul, 4)div\n"); scanf("%d", &choice); switch (choice) { case 1: add(i, j); break; case 2: sub(i, j); break; case 3: mul(i, j); break; case 4: div(i, j); break; default: printf("error\n"); break; } return 0; } void add(int a, int b) { printf("%d + %d = %d\n", a, b, a + b); } void sub(int a, int b) { printf("%d - %d = %d\n", a, b, a - b); } void mul(int a, int b) { printf("%d * %d = %d\n", a, b, a * b); } void div(int a, int b) { printf("%d / %d = %f\n", a, b, a /(float) b); } 리턴값 있는 경우? #include<stdio.h> int add(int, int); int sub(int, int); int mul(int, int); int div(int, float); int main() { int i, j,choice; printf("두 수 입력\n"); scanf(" %d%d", &i, &j); printf("골라바\n"); scanf("%d", &choice); switch (choice) { case 1: add(i, j); printf("%d+%d=%d", i, j, i + j); break; case 2: sub(i, j); printf("%d-%d=%d", i, j, i - j); break; case 3: mul(i, j); printf("%d*%d=%d", i, j, i * j); break; case 4: div(i, j); printf("%d/%d=%d", i, j, i / j); break; default: printf("error\n"); break; } return 0; } int add(int a, int b) { return a+b; } int sub(int a, int b) { return a-b; } int mul(int a, int b) { return a*b; } int div(int a,float b) { return a/b; } void를 int로 변경해서 쓰긴 했는데 이렇게 하는게 맞나요? 출력은 되긴하는데.. 이 둘의 차이가 어려워요 ㅠㅠㅠ
989
1
1
0
윈비
윈비·2022-07-17
맞게 하신 것 같습니다. return을 쓰면 결과 값을 받아서 처리하는 것이고 void를 쓰면 결과 값 반환 없이 바로 연산을 수행하면 됩니다.
LZHLZH· 3년

질문c언어 초급 while반복문 질문

1부터 시작해서 10까지 나오는데 중간에 7의 배수를 만나면 생략하는 코드를 짜려고합니다 초기값이 1으로 시작하는 걸로 짰는데  #include <stdio.h> int main() { int i=1; printf("i=%d\n", i); while (i <= 9){ i++; if (i % 7 == 0) continue; printf("i=%d\n", i); } return 0; } printf 두번 하는거 말고 한번에 출력하도록 하는 방법은 없을까요????? 계속 해봐도 2부터나와서...
1.2K
1
1
0
Developer_psj
Developer_psj·2022-06-28
i를 0으로 초기화해보세요!!