학생 정보 입력 받기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
typedef struct _Student
{
char name[10];
int age;
int grade;
float kor;
float eng;
float math;
} Student;
int main(void)
{
Student student;
printf("[학생] \n");
printf("이름 : ");
scanf("%s", student.name);
printf("나이 : ");
scanf("%d", &student.age);
printf("학년 : ");
scanf("%d", &student.grade);
printf("국어 : ");
scanf("%f", &student.kor);
printf("영어 : ");
scanf("%f", &student.eng);
printf("수학 : ");
scanf("%f", &student.math);
float total = (student.kor + student.eng + student.math) / 3;
printf("평균 점수 : %.1f", total);
return 0;
}
행과 열 바꾸기
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
int nums[4][4];
int i, j;
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
scanf("%d", &nums[i][j]);
}
}
printf("\n");
printf("[변경 전]\n");
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
printf("%3d", nums[i][j]);
}
printf("\n");
}
printf("\n");
printf("[변경 후]\n");
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
printf("%3d", nums[j][i]);
}
printf("\n");
}
return 0;
}
최대값 구하기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void maxnumber(int* num, int** max);
int main(void)
{
int num[5];
int* m = &num[0];
int** max = &m;
for (int i = 0; i < 5; i++)
{
scanf("%d", &num[i]);
}
maxnumber(num, max);
return 0;
}
void maxnumber(int* num, int** max)
{
for (int i = 1; i < 5; i++)
{
if (num[i] > **max)
{
**max = num[i];
}
}
printf("\n최댓값 : %d", **max);
}
행렬 곱 구하기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int a[3][3];
int b[3][3];
int i, j, k;
printf("[행렬 A]\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
scanf("%d", &a[i][j]);
}
}
printf("\n[행렬 B]\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
scanf("%d", &b[i][j]);
}
}
printf("\n[행렬 A]\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
printf("%3d", a[i][j]);
}
printf("\n");
}
printf("\n[행렬 B]\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
printf("%3d", b[i][j]);
}
printf("\n");
}
// 행렬 곱
int gop[3][3];
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
gop[i][j] = 0;
for (k = 0; k < 3; k++)
{
gop[i][j] += a[i][k] * b[k][j];
}
}
}
printf("\n[행렬 곱]\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
printf("%4d", gop[i][j]);
}
printf("\n");
}
return 0;
}
사칙연산 계산기 만들기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int a, b;
int plus (a, b)
{
return a + b;
}
int min (a, b)
{
return a - b;
}
int mul (a, b)
{
return a * b;
}
int div(a, b)
{
return a / b;
}
int main(void)
{
int (*cal)(int, int);
char sel;
printf("연산 종류(+, -, *, /): ");
scanf("%c", &sel);
printf("a : ");
scanf("%d", &a);
printf("b : ");
scanf("%d", &b);
switch (sel)
{
case '+':
cal = plus;
printf("a + b = %d", plus(a, b));
break;
case '-':
cal = min;
printf("a - b = %d", min(a, b));
break;
case '*':
cal = mul;
printf("a * b = %d", mul(a, b));
break;
case '/':
cal = div;
printf("a / b = %d", div(a, b));
break;
}
return 0;
}
점수의 평균 구하기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int num, n=1;
float score, avg, total =0;
printf("학생의 수 : ");
scanf("%d", &num);
printf("\n");
for (int i = 0; i < num; i++)
{
printf("학생%d : ", n);
scanf("%f", &score);
total += score;
n += 1;
}
avg = total / num;
printf("\n평균 : %.1f", avg);
return 0;
}
소수 개수 출력하기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int n, prime=0;
int* nums;
printf("숫자의 개수 : ");
scanf("%d", &n);
nums = (int*)malloc(sizeof(int) * n);
for (int i = 0; i < n; i++)
{
scanf("%d", &nums[i]);
for (int j = 2; j <= nums[i]; j++)
{
if (nums[i] == j) prime += 1;
else if (nums[i] % j == 0) break;
}
}
printf("\n소수의 개수는 %d입니다.", prime);
free(nums);
return 0;
}
문자열 길이 비교 후 출력하기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main(void)
{
char st1[100], st2[100];
scanf("%[^\n]s", &st1);
getchar();
scanf("%[^\n]s", &st2);
if (strlen(st1) > strlen(st2))
{
printf("%d", strlen(st1));
}
else if (strlen(st1) == strlen(st2))
{
strcat(st1, st2);
printf("%s", st1);
}
else if (strlen(st1) < strlen(st2))
{
printf("%d", strlen(st2));
}
return 0;
}
사칙연산이 가능한 함수가 정의되어 있는 calc.h 헤더파일을 만들어서 사용하기
//main.c
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include "calc.h"
int main(void)
{
int n1, n2;
scanf("%d", &n1);
scanf("%d", &n2);
calculator(n1, n2);
return 0;
}
//calc.h
#include <stdio.h>
int a, b;
void calculator(a, b);
//calc.c
#include "calc.h"
void calculator(a, b)
{
printf("\n%d + %d = %d\n", a, b, a + b);
printf("%d - %d = %d\n", a, b, a - b);
printf("%d * %d = %d\n", a, b, a * b);
printf("%d / %d = %d", a, b, a / b);
}
계단 만들기
#define _CRT_SECURE_NO_WARNINGS
#include <windows.h>
#include <stdio.h>
void GotoXY(int x, int y)
{
COORD Pos;
Pos.X = x;
Pos.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Pos);
}
int main(void)
{
int n;
int a = 0, b = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
GotoXY(a, b);
printf("ㄱ\n");
a += 1;
b += 1;
}
return 0;
}
'C' 카테고리의 다른 글
scanf 오류 해결법 (0) | 2022.04.03 |
---|---|
[C] 미로찾기 게임 최종 (0) | 2021.10.02 |
[C] #5 미로찾기 게임 (0) | 2021.10.02 |
[C] #4 미로찾기 게임 (0) | 2021.09.30 |
[C] #3 미로찾기 게임 (0) | 2021.09.30 |