반응형
CodeUp 기초 100제 21~30번 문제 풀이
CodeUp 기초 100제 - https://codeup.kr/problemsetsol.php?psid=23
[CodeUp] 기초 100제 1~10번 문제
[CodeUp] 기초 100제 21~30번 문제 - 현재 글
[1021][기초-입출력] 단어 1개 입력받아 그대로 출력하기
#include <stdio.h>
int main(void)
{
char a[51];
scanf("%s", &a);
printf("%s", a);
return 0;
}
- 50개의 문자를 저장하기 위해서는 char[51]으로 선언하면 된다.
- 문자열 출력을 위해서는 %s를 사용한다.
[1022][기초-입출력] 문장 1개 입력받아 그대로 출력하기
#include <stdio.h>
int main(void)
{
char a[2001];
fgets(a,2000,stdin);
printf("%s", a);
return 0;
}
- scanf는 공백을 기준으로 입력을 받기 때문에 공백 문자가 포함된 문장을 받으면 첫 번째 단어만 저장된다.
- fgets()는 하나의 라인 자체를 입력 받기 때문에 사용해 공백 문자가 포함되어 있는 문장을 받을 수 있다.
[1023][기초-입출력] 실수 1개 입력받아 부분별로 출력하기
#include <stdio.h>
int main(void)
{
int a, b;
scanf("%d.%d", &a, &b);
printf("%d\n%d", a, b);
return 0;
}
- scanf를 .으로 구분하게 해서 a, b 두 변수에 입력하고 출력은 \n 줄바꿈을 사용한다.
[1024][기초-입출력] 단어 1개 입력받아 나누어 출력하기
#include <stdio.h>
int main(void)
{
int i;
char a[21];
scanf("%s", &a);
for(i =0; i<21; i++)
{
if(a[i] == '\0') break;
printf("\'%c\'\n",a[i]);
}
return 0;
}
- c언어는 배열이라는 연속적인 공간에 문자들을 하나씩 저장하는 방법을 사용한다.
abcd라는 문자를 a배열에 넣으면 a[1]에는 a가, a[2]에는 b가 들어가는 방식이다. - 이렇게 문자가 연속적으로 연결된 것을 문자열 이라고 하며 문자열의 맨 뒤에는 마지막임을 알리기 위한 NULL값이 들어간다.
문자로는 '\0'으로 표기할 수 있다. - a배열의 문자를 하나하나 출력하고 NULL을 만나면 반복문에서 빠져나온다.
[1025][기초-입출력] 정수 1개 입력받아 나누어 출력하기
#include <stdio.h>
int main(void)
{
int a,b,c,d,e;
scanf("%1d%1d%1d%1d%1d", &a, &b, &c, &d, &e);
printf("[%d0000]\n[%d000]\n[%d00]\n[%d0]\n[%d]",a ,b ,c ,d ,e);
return 0;
}
- 변수 5개를 선언하고 %1d로 각 자리의 숫자를 한 개씩 나누어 변수에 저장한다.
[1026][기초-입출력] 시분초 입력받아 분만 출력하기
#include <stdio.h>
int main(void)
{
int year, month, day;
scanf("%d:%d:%d", &year, &month, &day);
printf("%d", month);
return 0;
}
[1027][기초-입출력] 년월일 입력 받아 형식 바꿔 출력하기
#include <stdio.h>
int main(void)
{
int year, month, day;
scanf("%d.%d.%d", &year, &month, &day);
printf("%02d-%02d-%04d", day, month, year);
return 0;
}
[1028][기초-데이터형] 정수 1개 입력받아 그대로 출력하기2
#include <stdio.h>
int main(void)
{
unsigned int a;
scanf("%u", &a);
printf("%u", a);
return 0;
}
- int형은 -2147483648 ~ +2147483647 범위의 정수를 저장할 수 있다.
이 이상의 데이터를 처리하기 위해선 더 큰 자료형을 사용해야 한다. - unsigned는 자료형 앞에 붙여 부호를 사용하지 않고 양수의 값을 두배 더 사용할 수 있게 한다.
- 부호 없는(unsigned) 정수를 10진수로 출력할 때에는 %u를 사용한다.
[1029][기초-데이터형] 실수 1개 입력받아 그대로 출력하기2
#include <stdio.h>
int main(void)
{
double a;
scanf("%lf", &a);
printf("%.11lf", a);
return 0;
}
- float 형은 주로 4bit의 단정밀도로 실수를 표현하고 double형은 주로 8bit의 배정밀도로 실수를 표현한다.
- 각각 %f, %lf을 사용한다.
[1030][기초-데이터형] 정수 1개 입력받아 그대로 출력하기3
#include <stdio.h>
int main(void)
{
long long int a;
scanf("%lld", &a);
printf("%lld", a);
return 0;
}
- long long int 형은 64bit를 사용하는 정수형이다.
반응형
'Programming > C' 카테고리의 다른 글
[CodeUp] 기초 100제 51~60번 문제 (0) | 2019.12.28 |
---|---|
[CodeUp] 기초 100제 41~50번 문제 (0) | 2019.12.28 |
[CodeUp] 기초 100제 31~40번 문제 (0) | 2019.12.28 |
[CodeUp] 기초 100제 11~20번 문제 (0) | 2019.12.27 |
[CodeUp] 기초 100제 1~10번 문제 (0) | 2019.10.25 |
댓글