1040 : [기초-산술연산] 정수 1개 입력받아 부호 바꿔 출력하기(설명)
입력된 정수의 부호를 바꿔 출력해보자.
단, -2147483647 ~ +2147483647 범위의 정수가 입력된다.
#include <stdio.h>
int main()
{
int a;
scanf("%d", &a);
printf("%d", -a);
return 0;
}
1042 : [기초-산술연산] 정수 2개 입력받아 나눈 몫 출력하기(설명)
정수 2개(a, b) 를 입력받아 a를 b로 나눈 몫을 출력해보자.
단, -2147483648 <= a <= b <= +2147483647, b는 0이 아니다.
#include <stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a/b);
return 0;
}
1043 : [기초-산술연산] 정수 2개 입력받아 나눈 나머지 출력하기(설명)
정수 2개(a, b) 를 입력받아 a를 b로 나눈 나머지를 출력해보자.
단, 0 <= a, b <= +2147483647, b는 0이 아니다.
#include <stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a%b);
return 0;
}
1044 : [기초-산술연산] 정수 1개 입력받아 1 더해 출력하기(설명)
정수를 1개 입력받아 1만큼 더해 출력해보자.
단, -2147483648 ~ +2147483647 의 범위로 입력된다.
#include <stdio.h>
int main()
{
long long int a;
scanf("%lld", &a);
printf("%lld", ++a);
return 0;
}
+long long 에 대해서 알게되었다.
1045 : [기초-산술연산] 정수 2개 입력받아 자동 계산하기
정수 2개(a, b)를 입력받아 합, 차, 곱, 몫, 나머지, 나눈 값을 자동으로 계산해보자.
단 0 <= a, b <= 2147483647, b는 0이 아니다.
#include <stdio.h>
int main()
{
long long int a, b;
scanf("%lld %lld", &a, &b);
printf("%lld\n", a+b);
printf("%lld\n", a-b);
printf("%lld\n", a*b);
printf("%lld\n", a/b);
printf("%lld\n", a%b);
printf("%.2lf\n", (float)a/(float)b);
return 0;
}
+형변환에 대해서 배울 수 있었다.
1046 : [기초-산술연산] 정수 3개 입력받아 합과 평균 출력하기
정수 3개를 입력받아 합과 평균을 출력해보자.
단, -2147483648 ~ +2147483647
#include <stdio.h>
int main()
{
int a, b, c;
float result = 0;
scanf("%d %d %d", &a, &b, &c);
printf("%d\n", a+b+c);
result = a+b+c;
printf("%.1lf\n", result/3);
return 0;
}
+초기화를 해주는것과 안해주는 것의 차이
= 초기화를 안하면 쓰래기 값이 들어간다 추후에 해줄게 아니라면 해주는게 맞다.
1047 : [기초-비트시프트연산] 정수 1개 입력받아 2배 곱해 출력하기(설명)
정수 1개를 입력받아 2배 곱해 출력해보자.
#include <stdio.h>
int main()
{
int a;
scanf("%d", &a);
printf("%d", 2*a);
return 0;
}
++비트연산으로 하는 배곱
#include <stdio.h>
int main()
{
int a;
scanf("%d", &a);
printf("%d\n",a << 1);
return 0;
}
<<의 1은 2배 한 값이 출력되고 >>의 1은 /2배한 값이 출력된다.
그럼 2은? 4배 한값이 출력된다
그럼 3은? 8배 한 값이 출력된다.
1048 : [기초-비트시프트연산] 한 번에 2의 거듭제곱 배로 출력하기(설명)
정수 2개(a, b)를 입력받아 a를 2b배 곱한 값으로 출력해보자.
0 <= a <= 10, 0 <= b <= 10
예) 1 3 이 입력되면 1을 2^3배 하여 출력
#include <stdio.h>
int main()
{
int a,b;
scanf("%d %d", &a,&b);
printf("%d", a<<b);
return 0;
}
c에선^가 XOR이다...
1049 : [기초-비교연산] 두 정수 입력받아 비교하기1(설명)
두 정수(a, b)를 입력받아
a가 b보다 크면 1을, a가 b보다 작거나 같으면 0을 출력하는 프로그램을 작성해보자.
#include <stdio.h>
int main()
{
int a,b;
scanf("%d %d", &a,&b);
printf("%d", a>b);
return 0;
}
1050 : [기초-비교연산] 두 정수 입력받아 비교하기2(설명)
두 정수(a, b)를 입력받아
a와 b가 같으면 1을, 같지 않으면 0을 출력하는 프로그램을 작성해보자.
#include <stdio.h>
int main()
{
int a,b;
scanf("%d %d", &a,&b);
printf("%d", a==b);
return 0;
}
1051 : [기초-비교연산] 두 정수 입력받아 비교하기3(설명)
두 정수(a, b)를 입력받아
b가 a보다 크거나 같으면 1을, 그렇지 않으면 0을 출력하는 프로그램을 작성해보자.
#include <stdio.h>
int main()
{
int a,b;
scanf("%d %d", &a,&b);
printf("%d", a<=b);
return 0;
}
1052 : [기초-비교연산] 두 정수 입력받아 비교하기4(설명)
두 정수(a, b)를 입력받아
a와 b가 서로 다르면 1을, 그렇지 않으면 0을 출력하는 프로그램을 작성해보자.
#include <stdio.h>
int main()
{
int a,b;
scanf("%d %d", &a,&b);
printf("%d", a!=b);
return 0;
}
1053 : [기초-논리연산] 참 거짓 바꾸기(설명)
1(true, 참) 또는 0(false, 거짓) 이 입력되었을 때
반대로 출력하는 프로그램을 작성해보자.
#include <stdio.h>
int main()
{
int a;
scanf("%d", &a);
printf("%d", !a);
return 0;
}
1054 : [기초-논리연산] 둘 다 참일 경우만 참 출력하기(설명)
#include <stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a&&b);
return 0;
}
1055 : [기초-논리연산] 하나라도 참이면 참 출력하기(설명)
#include <stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a||b);
return 0;
}
1056 : [기초-논리연산] 참/거짓이 서로 다를 때에만 참 출력하기(설명)
#include <stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a^b);
return 0;
}
1057 : [기초-논리연산] 참/거짓이 서로 같을 때에만 참 출력하기
#include <stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d", !(a^b));
return 0;
}
1058 : [기초-논리연산] 둘 다 거짓일 경우만 참 출력하기
#include <stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d", !(a||b));
return 0;
}
+!(a&&b) == ||
1059 : [기초-비트단위논리연산] 비트단위로 NOT 하여 출력하기(설명)
입력 된 정수를 비트단위로 참/거짓을 바꾼 후 정수로 출력해보자.
비트단위(bitwise)연산자 ~ 를 붙이면 된다.(~ : tilde, 틸드라고 읽는다.)
#include <stdio.h>
int main()
{
int a;
scanf("%d", &a);
printf("%d", ~a);
return 0;
}
1060 : [기초-비트단위논리연산] 비트단위로 AND 하여 출력하기(설명)
입력된 정수 두 개를 비트단위로 and 연산한 후 그 결과를 정수로 출력해보자.
#include <stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a&b);
return 0;
}
예를 들어 3과 5가 입력되었을 때를 살펴보면
3 : 00000000 00000000 00000000 00000011
5 : 00000000 00000000 00000000 00000101
3 & 5 : 00000000 00000000 00000000 00000001
1063 : [기초-삼항연산] 두 정수 입력받아 큰 수 출력하기(설명)\
입력된 두 정수 a, b 중 큰 값을 출력하는 프로그램을 작성해보자.
단, 조건문을 사용하지 않고 3항 연산자 ? 를 사용한다.
조건식 ? (참일 때의 값) : (거짓일 때의 값)
#include <stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a>b?a:b);
return 0;
}
1064 : [기초-삼항연산] 정수 3개 입력받아 가장 작은 수 출력하기(설명)
입력된 세 정수 a, b, c 중 가장 작은 값을 출력하는 프로그램을 작성해보자.
단, 조건문을 사용하지 않고 3항 연산자 ? 를 사용한다.
(a>b ? a:b)>c ? (a>b ? a:b):c == 큰수
a<b ? (a<c?a:c) : (b<c?b:c) == 작은 수
#include <stdio.h>
int main()
{
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
printf("%d", a<b ? (a<c?a:c) : (b<c?b:c));
return 0;
}
1065 : [기초-조건/선택실행구조] 정수 3개 입력받아 짝수만 출력하기(설명)
#include <stdio.h>
int main()
{
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
if(a%2 == 0) printf("%d\n", a);
if(b%2 == 0) printf("%d\n", b);
if(c%2 == 0) printf("%d\n", c);
return 0;
}
1066 : [기초-조건/선택실행구조] 정수 3개 입력받아 짝/홀 출력하기(설명)
#include <stdio.h>
int main()
{
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
if (a%2==0) {
printf("%s\n", "even");
}else{
printf("%s\n", "odd");
}
if (b%2==0) {
printf("%s\n", "even");
}else{
printf("%s\n", "odd");
}
if (c%2==0) {
printf("%s\n", "even");
}else{
printf("%s\n", "odd");
}
return 0;
}
1067 : [기초-조건/선택실행구조] 정수 1개 입력받아 분석하기(설명)
정수 1개가 입력되었을 때, 음(minus)/양(plus)과 짝(even)/홀(odd)을 출력해보자.
#include <stdio.h>
int main()
{
int a;
scanf("%d", &a);
if (a%2==0) {
printf("%s\n", "even");
}else{
printf("%s\n", "odd");
}
if (a>0) {
printf("%s\n", "plus");
}else{
printf("%s\n", "minus");
}
return 0;
}
1068 : [기초-조건/선택실행구조] 정수 1개 입력받아 평가 출력하기(설명)
#include <stdio.h>
int main()
{
int a;
scanf("%d", &a);
if(a >= 90) printf("A\n");
else if(a >= 70) printf("B\n");
else if(a >= 40) printf("C\n");
else printf("D\n");
return 0;
}
1069 : [기초-조건/선택실행구조] 평가 입력받아 다르게 출력하기(설명)
평가를 문자(A, B, C, D, ...)로 입력받아 내용을 다르게 출력해보자.
평가 내용
평가 : 내용
A : best!!!
B : good!!
C : run!
D : slowly~
나머지 문자들 : what?
#include <stdio.h>
int main()
{
char a;
scanf("%c",&a);
switch(a)
{
case 'A': printf("best!!!"); break;
case 'B': printf("good!!"); break;
case 'C': printf("run!"); break;
case 'D': printf("slowly~"); break;
default: printf("what?");
}
return 0;
}
1070 : [기초-조건/선택실행구조] 월 입력받아 계절 출력하기(설명)
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
switch(a)
{
case 12:
case 1:
case 2:printf("winter");break;
case 3:
case 4:
case 5:printf("spring");break;
case 6:
case 7:
case 8:printf("summer");break;
case 9:
case 10:
case 11:printf("fall");break;
}
return 0;
}
1071 : [기초-반복실행구조] 0 입력될 때까지 무한 출력하기1(설명)
#include <stdio.h>
int main()
{
int a=0;
while (1) {
scanf("%d", &a);
if (a!=0) {
printf("%d\n",a);
}else
break;
}
return 0;
}
1072 : [기초-반복실행구조] 정수 입력받아 계속 출력하기(설명)
n개의 정수가 순서대로 입력된다.
-2147483648 ~ +2147483647, 단 n의 최대 개수는 알 수 없다.
n개의 입력된 정수를 순서대로 출력해보자.
#include <stdio.h>
int main()
{
int a=0;
int c=0;
scanf("%d", &a);
for (int b=0; b<a; b++) {
scanf("%d", &c);
printf("%d\n", c);
}
return 0;
}
1076 : [기초-반복실행구조] 문자 1개 입력받아 알파벳 출력하기(설명)
#include <stdio.h>
int main()
{
char n;
scanf("%c", &n);
for(char i='a'; i<=n; i++)
printf("%c ",i);
return 0;
}
1078 : [기초-종합] 짝수 합 구하기(설명)
#include <stdio.h>
int main()
{
int n, i, s=0;
scanf("%d", &n);
for(i=1; i<=n; i++)
if(i%2==0)
s+=i;
printf("%d", s);
return 0;
}
1079 : [기초-종합] 원하는 문자가 입력될 때까지 반복 출력하기
#include <stdio.h>
int main()
{
char a;
while(1)
{
scanf("%c ", &a);
if(a != 'q') printf("%c\n",a);
else {
printf("q");
return 0;
}
}
}
1080 : [기초-종합] 언제까지 더해야 할까?
1, 2, 3 ... 을 계속 더해 나갈 때,
그 합이 입력한 정수(0 ~ 1000)보다 같거나 작을 때까지
계속 더하는 프로그램을 작성해보자.
즉, 1부터 n까지 정수를 계속 더한다고 할 때,
어디까지 더해야 입력한 수보다 같거나 커지는지 알아보고자 하는 문제이다.
#include <stdio.h>
int main()
{
int a, c=0;
int i;
scanf("%d", &a);
for (i=1; ; i++) {
c += i;
if (a <= c) {
break;
}
}
printf("%d", i);
return 0;
}
'알고리즘 > 코드업 C알고리즘' 카테고리의 다른 글
1085 : [기초-종합] 소리 파일 저장용량 계산하기(설명) (0) | 2021.03.31 |
---|---|
1084 : [기초-종합] 빛 섞어 색 만들기(설명) (0) | 2021.03.31 |
1083 : [기초-종합] 3 6 9 게임의 왕이 되자!(설명) (0) | 2021.03.31 |
1082 : [기초-종합] 16진수 구구단? (0) | 2021.03.31 |
1081 : [기초-종합] 주사위를 2개 던지면?(설명) (0) | 2021.03.31 |