반응형
안녕하세요 성조입니다.
이전에 풀어놨던 문제들을 올립니다! ㅎㅎ
문제) 비트연산자, 조건연산자를 이용하여 홀수 또는 짝수 합을 구하는 프로그램을 for를 이용하여 작성하라.
비트연산자 - (| - or) (& - and) (^ - xor)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#include<stdio.h>
void function(int* sum1, int* sum2, int num[], int i);
int main()
{
int sum1 = 0, sum2 = 0; //sum1 짝수, sum2 홀수
int num[10];
printf("\n");
for (int i = 0; i < 10; i++)
{
printf("값을 입력하세요 : ");
scanf_s("%d", &num[i], 10);
function(&sum1, &sum2, num, i);
}
printf("\n\n");
printf(" 짝수 합 : %d", sum1);
printf("\n");
printf(" 홀수 합 : %d", sum2);
printf("\n");
}
void function(int* sum1, int* sum2, int num[], int i){
while (i & 1){
*sum1 = *sum1 + num[i];
break;
}
while ((i & 1) == 0)
{
*sum2 = *sum2 + num[i];
break;
}
}
|
[풀이]
문제는 짝수와 홀수를 비트와 조건 연산자를 통해서 만드는 방법이다.
조건 연산자의 사용 방법은 다음과 같다. -> 내용 ? 참 : 거짓를 구하는 방법이다.
이러한 방법을 함수형으로 구현하여 풀이를 진행했다.
문제) 루트로 실수 값 구하기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#include <stdio.h>
#include <math.h> // sqrt 함수
void main(){
int co = 0, root_num = 0, num = 0;
printf("\n\t");
printf("값을입력하세요: ");
scanf_s("%d", &co);
root_num = sqrt((float)co);
for (int i = 2; i <= root_num; i++){
if (co % i == 0){
num++;
}
}
if (num == 0){
printf("\n\t");
printf("%d는소수입니다", co);
printf("\n");
}else{
printf("\n\t");
printf("%d는소수가아닙니다.", co);
printf("\n");
}
}
|
[풀이]
num에 약수가 존재하는지를 판별해서 소수를 판별한다.
문제) 다음과 같이 ASCII 코드를 출력하는 프로그램을 for를 이용하여 작성하라.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include <stdio.h>
int main(){
printf("ASCII 코드 값");
printf("\n");
for (unsigned int i = 0; i < 4; i++){
printf("Dex Hex Oct Ch");
printf(" ");
}
for (unsigned int i = 32; i < 128; i++){
if (i % 4 == 0){
printf("\n");
}
printf("%3d", i);
printf(" %3x", i);
printf(" %3o", i);
printf("%3c ", (char)i);
}
}
|
[풀이]
Dex, Hex, Oct, Ch 순으로 32~127까지의 수를 출력한다.
95개의 숫자를 출력 세로 24 * 가로 4 =96 24번 출력 후에는 열을 바꾼다.
오타나 궁금한 부분이 있으시면 댓글 부탁드리겠습니다!
그럼 다음에 다시 찾아뵙겠습니다 ㅎㅎ
보기 어려웠던 코드들을 모두 다시 정리했습니다.
(2022-05-29)
반응형
'C, C++ > C' 카테고리의 다른 글
[C언어] 삼항(조건) 연산자를 이용하여 5개의 데이터를 입력받고 최솟값 구하기 (0) | 2020.11.01 |
---|---|
[C언어] 관계, 논리, 삼항(조건)연산자를 혼합한 C프로그래밍 (0) | 2020.10.31 |
[C언어] 관계(비교)연산자를 사용하여 두 데이터를 비교하기 (0) | 2020.10.30 |
[C언어] C언어 이차방정식 프로그래밍 (0) | 2020.10.14 |
[C언어] C언어 문제풀이 모음 (0) | 2020.06.06 |