티스토리 뷰

jungol > 문제 > Langauge_Corder > 출력 - 형성평가 1~5

형성평가 1

 


첫 번째 형성평가이다! 그러나 달랑 한 문장만 출력하면 된다.


return 0;은 코드에서 프로그래밍을 종료할 때 사용한다. 사실 제대로 된 뜻은 아직 모른다.


잘 실행되었다.


 

형성평가 2

 


이번에는 \n을 한 번만 사용하여 출력하면 된다.


그러나 이번에도 한 번에 눌러쓰는 방법을 고수했다.


잘 나왔다.


 

형성평가 3

 


일일이 입력하기가 귀찮았다! 그래서 나의 얇은 지식을 동원하며 for를 이용하였다.
for은 특정 코딩된 부분을 얼마나 반복할지를 정할 수 있다!


그래서 나는 T을 10번씩 출력하게 만드는 것과
TT 두개를 3번 출력하게 만드는 것을 for울 이용하여 실현했다.


매우 잘 나왔다.


 

형성평가 4

 


이번에는 %d을 활용하였다.


%d

%d는 c언어의 서식 지정자 중 하나이며
10진법으로 정수를 나타내는 역할을 한다.

예) printf("%d", 12)

-> 12

예) printf("%d", 5×6×10);

-> 300

예) printf("%d", 9×3/2);

->13


(원래는 13.5이나 %d는 10진법, 정수형태로 나타내기 때문에 소수점을 제거하고 나왔다)

이렇게 %d는 10진법 그리고 정수의 형태로 숫자를 나타낸다.

실행결과이다.


 

형성평가 5

 

(출처 : 자기주도 c언어 프로그래밍)
마지막 형성평가여서 후딱 풀려고 했으나...

문제를 보면 위의 예를 출력하기 위해서 문자열을 받을 배열들을 만들어야 했다.

문자열은 총 15개였고 이들을 3개씩 5개로 묶을 수 있어서 처음에는 2차원 배열로 다 집어넣은 다음 for문을 이용해서 출력하려고 했다.

int arr[3][5] = ...

그런데 프로그램이 실행되지 않았고 해결방안을 찼던 중 c언어에서 문자열을 담을 배열은 반드시 자료형이 char 이야 함을 알게 되었다 그래서...

char arr[3][5] = ...

그러나 이번에도 실행이 되지 않았다.

계속해서 원인을 생각해보니 문자열마다 크기(byte)가 다른 것이 이유로 생각했고 이를 위해 공간을 할당하기 위해선 무언가를 해야 하는데 이쪽 개념이 어려워서 그냥 하나하나 문자열마다 배열을 만들어준 다음 일일이 출력하는 형식으로 만들었다.

ex) char arr1[6] = "Seoul";

(Seoul 문자열은 'S', 'e', 'o', 'u', 'l' 그리고 문자열의 끝을 알려주는 null문자로 이러어져 있어 크기를 6으로 할당해야 한다!)



이게 그 결과물이다! 아무리 봐도 변수들의 이름이 너무 안 예쁘다!

%s

%s는 c언어의 서식지정자 중 하나이며, 문자열을 입력받거나 출력할 때 사용한다.

%(숫자)s
여기서 숫자는 공백의 개수를 의미한다.

ex) shot = diver;
printf("%15s", shot);

(0이 공백이라고 가정)
0000000000diver

이렇게 공백 15개가 나온 뒤 맨 끝부터 5칸을 diver가 차지한다.

ex) shot = diver;
printf("%6s", shot);

(0이 공백이라고 가정)
0diver

이렇게 공백 6개가 나온 뒤 맨 끝부터 5칸을 diver가 차지한다.


결과는 예쁘게 잘 나왔다.


코드

 

형성평가 1
#include <stdio.h>

int main (void)
{
printf("My name is Hong\n");
return 0;
}
형성평가 2
#include <stdio.h>

int main (void)
{
printf("My hometown\n");
printf("Flowering mountain");
return 0;
}
형성평가 3
#include <stdio.h>

int main (void)
{
char a = 'T';
int i = 0;

for(i=0; i<10; i++) printf("%c", a);
printf("\n");
for(i=0; i<10; i++) printf("%c", a);
printf("\n");
for(i=0; i<3; i++) printf(" TT\n");
return 0;
}
형성평가 4
#include <stdio.h>

int main (void)
{
printf("kor 90\nmat 80\neng 100\n");
printf("sum %d\n", 90+80+100);
printf("avg %d", (90+80+100)/3);
return 0;
}

 

형성평가 5

 

#include <stdio.h>

int main (void)
{
char arr1[6] = "Seoul";
char arr2[6] = "Pusan";
char arr3[8] = "Incheon";
char arr4[6] = "Daegu";
char arr5[8] = "Gwangju";

char arrr1[11] = "10,312,545";
char arrr2[10] = "3,567,910";
char arrr3[10] = "2,758,296";
char arrr4[10] = "2,511,676";
char arrr5[10] = "1,454,676";

char arrrr1[8] = "+91,375";
char arrrr2[7] = "+5,868";
char arrrr3[8] = "+64,888";
char arrrr4[8] = "+17,230";
char arrrr5[8] = "+29,774";


printf("%15s%15s%15s\n", arr1, arrr1, arrrr1);
printf("%15s%15s%15s\n", arr2, arrr2, arrrr2);
printf("%15s%15s%15s\n", arr3, arrr3, arrrr3);
printf("%15s%15s%15s\n", arr4, arrr4, arrrr4);
printf("%15s%15s%15s\n", arr5, arrr5, arrrr5);

return 0;
}

 

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   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
글 보관함