그래프의 원리 ★로 알아보기.
#include <stdio.h>
#include <stdlib.h>
void main() {
//학생 수 만큼 점수를 입력받아 출력하기
//1. 학생 수 입력받기
//2. 학생 수 만큼 점수 입력받기
int cnt = 0;
int* arScore = 0;
printf("학생 수를 입력하세요.\n");
scanf_s("%d", &cnt);
arScore = (int*)malloc(sizeof(int)*cnt);
for (int i = 0; i < cnt; i++) {
printf("%d번 학생 점수 입력 :", i + 1);
scanf_s("%d", arScore + i);
}
for (int i = 0; i < cnt; i++) {
printf("%d번 학생 점수 : %d점\n", i + 1, arScore[i]);
}
system("cls");
for (int i = 10; i > 0; i--) {
printf("%3d │", i * 10);
for (int j = 0; j < cnt; j++) {
if (arScore[j] / 10 >= i) {
printf(" ★");
}
else {
printf(" ");
}
}
printf("\n");
}
printf("%3d └────", 0);
for (int i = 0; i < cnt; i++) {
printf("────");
}
printf("\n");
printf(" ");
for (int i = 0; i < cnt; i++) {
printf(" %d ", arScore[i]);
}
printf("\n");
printf("\n");
free(arScore);
}
막대그래프
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
void main() {
//학생 수 만큼 점수를 입력받아 출력하기
//1. 학생 수 입력받기
//2. 학생 수 만큼 점수 입력받기
int cnt = 0;
int* arScore = 0;
printf("학생 수를 입력하세요.\n");
scanf_s("%d", &cnt);
arScore = (int*)malloc(sizeof(int)*cnt);
for (int i = 0; i < cnt; i++ ) {
printf("%d번 학생 점수 입력 :", i + 1);
scanf_s("%d", arScore + i);
}
for (int i = 0; i < cnt; i++) {
printf("%d번 학생 점수 : %d점\n", i + 1, arScore[i]);
}
system("cls");
for (int i = 10; i > 0; i--) {
printf("%3d │", i * 10);
for (int j = 0; j < cnt; j++) {
if (arScore[j] / 10 == i) {
printf(" ┌┐");
}
else if (arScore[j] /10 >= i) {
printf(" ││");
}
else {
printf(" ");
//Sleep(100);
}
}
printf("\n");
}
printf("%3d └─", 0);
for (int i = 0; i < cnt; i++) {
if (arScore[i] != 0) {
printf("─┴┴─");
}
else {
printf("────");
}
}
//Sleep(100);
printf("\n");
printf(" ");
for (int i = 0; i < cnt; i++) {
printf(" %d ", arScore[i]);
}
printf("\n");
printf("\n");
free(arScore);
}
Baseball Game
#include <stdio.h>
#include <stdlib.h>
#include<time.h>
void main() {
//기존 배열을 섞은 후
//레벨별로 자릿수를 선정한다.
//섞는 법
//0번째 방을 고정시키고
//?번째 방과 위치를 바꾼다.
int baseball[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int cnt = 0, s = 0, b = 0;
int r = 0, temp =0, level=0;
int choice = 0, rest = 0;
srand(time(NULL));
for (int i = 0; i < 10000; i++) {
r = rand()% 9 +1;
temp = baseball[0];
baseball[0] = baseball[r];
baseball[r] = temp;
}
printf("●Baseball Game●\n");
while (1) {
printf("레벨을 입력하세요(1레벨: 3자리수, 최대 8레벨)\n");
scanf_s("%d", &level);
if (level > 0 && level < 9) {
break;
}
else {
printf("1~8까지의 수만 입력 가능합니다.\n");
}
}
//printf("cpu :");
//for (int i = 0; i < level + 2; i++) {
// printf("%d", baseball[i]);
//}
printf("\n");
while (1) {
s = 0;
b = 0;
printf("user: ");
scanf_s("%d", &choice);
cnt++;
for (int i = level + 1 ; i >= 0; i--) {
rest = choice % 10;
if (baseball[i] == rest) {
s++;
}
for (int j = level +1; j >= 0; j--) {
if (baseball[j] == rest) {
b++;
}
}
choice /= 10;
}
if (s == level + 2) {
break;
}
printf("%d strike %d ball\n", s, b - s);
}
printf("%d번만에 성공!\n", cnt);
}
To Do List
?) srand
A) stdlib안에 있는 함수
: 랜덤의 기준점을 정하는 것.
time(NULL)
: 흐른시간을 반환해주는데
NULL은 현재가 기준이 됨.
* C언어에서는 NULL (대문자로 사용)
'C언어 > 예습' 카테고리의 다른 글
[C언어 예습]DAY18_구조체1 (0) | 2020.02.10 |
---|---|
[C언어 예습]DAY16_동적 할당, 동적 배열 (0) | 2020.02.10 |
[C언어 예습]DAY15_인터배열과 배열포인터, 지역변수, 전역변수, static변수 (0) | 2020.02.10 |
[C언어 예습]DAY14_포인터(2) 정적 배열, 동적 배열, 이중 포인터 (0) | 2020.02.05 |
[C언어 예습]DAY13_포인터(1) (0) | 2020.02.05 |