Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
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
Tags
more
Archives
Today
Total
관리 메뉴

코딩 공부

<Codeup 21-30> 코드업 문제 풀이 본문

codeup 기초 100제

<Codeup 21-30> 코드업 문제 풀이

예인📚 2019. 12. 9. 23:05

1021 [기초-입출력] 단어 1개 입력받아 그대로 출력하기 

Codeup 기초 100제 021

문제 풀이: 50자 이하의 단어를 입력받고 그대로 출력하기 위해서는 char data[51] = "" 을 사용한다. char data[50]=""은 크기가 51인 char형 배열을 선언한다는 뜻이다. char data[50] = "" 을 사용하지 않는 이유는 글자 끝에는 끝을 의미하는 NULL이 들어가야하기 때문이다. 

 

#include <stdio.h>

int main()
{
char data[51] = ""; //크기가 51인 char형 배열을 선언하고 문자열 할당
scanf("%s", &data); //문자열 입력받기 
printf("%s", data); //문자열 그대로 출력하기 

return 0;
}


1022 [기초-입출력] 문장 1개 입력받아 그대로 출력하기 

Codeup 기초 100제 022

fgets: fgets 함수는 scanf 함수와는 달리 오직 개행 문자에 의해서만 입력이 끝나기때문에 띄어쓰기가 있는 문자열도 입력받을 수 있다. 

 

문제 풀이: 공백 문자가 들어가있는 문자열을 출력하려면 fgets()를 사용한다. 

#include <stdio.h> 

int main()
{
char data[2001]; //2000개의 단어로 이루어진 문자열을 저장한다 
fgets(data, 2000, stdin); //stdin으로부터 문자열을 입력받아서 data에 저장하되 200만큼만 저장된다
printf("%s", data); //입력받은 data를 출력한다 

return 0;
}


1023 [기초-입출력] 실수 1개 입력받아 부분별로 출력하기 

Codeup 기초 100제 023

문제 풀이: 입력을 받을때 소수점 (.)으로 구분지어 입력받는다. 

#include <stdio.h> 

int main()
{
int a; //정수 변수를 선언하고 a를 정수로 저장한다 
float b; //실수 변수를 선언하고 b를 실수로 저장한다 
scanf("%d.%f", &a, &b); //a와 b를 .으로 구분하여 입력받는다 
printf("%d \n", a); //a를 출력하고 줄바꿈을한다 
printf("%.0f", b); //b를 소수점 0자리수까지 출력한다

return 0;
}


1024 [기초-입출력] 실수 1개 입력받아 부분별로 출력하기 

Codeup 기초 100제 024 1
Codeup 기초 100제 024 2

문제 풀이: for문을 사용해 문자 하나하나 \0인지 확인하며 출력한다. 

#include <stdio.h> 

int main()
{
char x[25]; //24개의 문자가 들어갈 수 있는 문자열을 x라고 선언한다 
scanf("%s", &x); //x값을 입력받는다 
int i; //정수 변수를 선언하고 i를 정수로 저장한다 

for(i = 0; i < 25; i++) //i의 초기값은 0이고 i가 25보다 작을때까지 한번씩 더해가면서 for문이 실행된다 
{
if(x[i] == '\0') break; //x(문자열)의 i번째 문자가 \0(null 문자)이면 for문을 바로 탈출한다 
printf("\'%c\'\n", x[i]); //x 문자열의 i번째 문자를 ' '안에 출력한다 
}



return 0;

}


1025 [기초-입출력] 정수 1개 입력받아 나누어 출력하기 

Codeup 기초 100제 025

문제 풀이: 다섯 자리의 정수 1개를 입력받아 각 자리별로 나누어 출력하려면 숫자 하나하나 다른 변수로 입력받은후 그 자리수 만큼을 곱하여 출력한다. 

#include <stdio.h>

int main()
{
int a, b, c, d, e; //a, b, c, d, e를 정수로 저장하고 정수 변수를 선언한다 
scanf("%1d%1d%1d%1d%1d", &a, &b, &c, &d, &e); //a, b, c, d, e값을 각각 따로 한자리씩 입력받는다 
printf("[%d] \n", a*10000); //a를 10000에 곱해서 출력한다 
printf("[%d] \n", b*1000); //b를 1000에 곱해서 출력한다 
printf("[%d] \n", c*100); //c를 100에 곱해서 출력한다
printf("[%d] \n", d*10); //d를 10에 곱해서 출력한다
printf("[%d] \n", e); //e를 출력한다


return 0;

}


1026 [기초-입출력] 시분초 입력받아 분만 출력하기 

Codeup 기초 100제 026

문제 풀이: scanf는 정해진 형식으로 입력받기 때문에 %d:%d:%d로 입력받으면 h, m, s에 각각 정수값만 저장된다 

#include <stdio.h> 

int main()
{
int h, m, s; //정수 변수를 선언하고 h, m, s를 정수로 저장한다 
scanf("%d:%d:%d", &h, &m, &s); //h, m, s의 값을 정해진 형식으로 (:) 입력받는다 
printf("%d", m); //분인 m만 출력한다 


return 0;


1027 [기초-입출력] 년월일 입력 받아 형식 바꿔 출력하기 

Codeup 기초 100제 027

문제 풀이: yyyy.mm.dd로 입력받아 dd-mm-yyyy로 출력하기 위해서는 정해진 형식으로 입출력 해야한다. 

#include <stdio.h>

int main()
{
int y, m, d; //정수 변수를 선언하고 y, m, d를 정수로 저장한다 
scanf("%d.%d.%d", &y, &m, &d); //y.m.d 형식으로 값을 입력받는다 
printf("%02d-%02d-%04d", d, m, y); //d와 m은 2자리수, y는 4자리 수로 출력한다


return 0;


1028 [기초-데이터형] 정수 1개 입력받아 그대로 출력하기2

Codeup 기초 100제 028

문제 풀이: unsigned int 는 int형보다 범위가 크기에 unsigned int를 사용한다 

#include <stdio.h> 

int main()
{
unsigned int n; //n을 unsigned int로 저장한다 
scanf("%u", &n); //n값을 입력받는다 
printf("%u", n); //n을 출력한다 


return 0;


1029 [기초-데이터형] 실수 1개 입력받아 그대로 출력하기2

Codeup 기초 100제 029

문제 풀이: double 는 float형보다 범위가 크기에 double을 사용한다 

#include <stdio.h>

int main()
{
double d; //d을 double 로 저장한다
scanf("%lf", &d); //d 값을 입력받는다 
printf("%.11lf ", d); //d를 소수점 11자리까지 출력한다 


return 0;


1030 [기초-데이터형] 정수 1개 입력받아 그대로 출력하기3

Codeup 기초 100제 030

문제 풀이: 문제의 범위에 맞는 long long int를 사용한다 

#include <stdio.h>

int main()
{
long long int n; //n을 long long int의 변수로 저장한다 
scanf("%lld", &n); //n값을 입력받는다 
printf("%lld", n); //n을 출력한다 


return 0;