배열을 사용해서 키 값과 암호화할 단어를 입력해서
암호화를 하고 복호화를 해주는 프로그램
// 암호 전달
#include <stdio.h>
void main(void)
{
char str[50];
char text[50];
char str2[50];
int i = 0;
int key;
printf("암호 단어 입력: ");
scanf("%s", str);
printf("키 값 입력: ");
scanf("%d", &key);
printf("입력된 단어는 %s입니다.\n", str);
while (str[i] != '\0')
{
text[i] = str[i] + key;
i++;
}
text[i] = '\0';
printf("입력된 단어를 암호화하면 %s입니다.\n", text);
i = 0;
while (text[i] != '\0')
{
str2[i] = text[i] - key;
i++;
}
str2[i] = '\0';
printf("입력된 단어를 복호화하면 %s입니다.\n", str2);
}
문자에 해당되는 아스키코드에 키 값을 더해서 암호화하고
암호화된 아스키코드에 키 값을 빼서 복호화하는 매우 간단한
프로그램이다.
숫자를 입력받고 비교해서 큰 순서대로 정렬해서 출력하는 프로그램
// 크기 비교하고 큰 순서대로 정렬하기
#include <stdio.h>
void main(void)
{
int i, j;
int tmp;
int n[5];
printf("숫자 5개 입력: ");
scanf("%d %d %d %d %d", &n[0], &n[1], &n[2], &n[3], &n[4]);
printf("정렬 전: %d %d %d %d %d\n", n[0], n[1], n[2], n[3], n[4]);
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
if (n[j] < n[j + 1])
{
tmp = n[j];
n[j] = n[j + 1];
n[j + 1] = tmp;
}
}
}
printf("정렬 후: %d %d %d %d %d", n[0], n[1], n[2], n[3], n[4]);
}
입력되는 숫자가 5개라서 모두 비교해서 완벽히 정렬하기 위해서는
for문을 중첩으로 각각 4번 반복해야한다.
절대값 크기를 비교해서 정렬하는 프로그램
위에서 약간 바꾸면 된다.
// 절대값 정렬
#include <stdio.h>
void main(void)
{
int i, j;
int tmp;
int n[5];
printf("숫자 5개 입력: ");
scanf("%d %d %d %d %d", &n[0], &n[1], &n[2], &n[3], &n[4]);
printf("정렬 전: %d %d %d %d %d\n", n[0], n[1], n[2], n[3], n[4]);
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
if (abs(n[j]) < abs(n[j + 1])) // abs로 바꿈
{
tmp = n[j];
n[j] = n[j + 1];
n[j + 1] = tmp;
}
}
}
printf("정렬 후: %d %d %d %d %d", n[0], n[1], n[2], n[3], n[4]);
}
'공부 > C언어' 카테고리의 다른 글
(C 예제) 포인터와 배열 (0) | 2020.06.27 |
---|---|
(C 예제) 포인터 정리 및 예제 (0) | 2020.06.26 |
(C 예제) 배열 정의 및 예제 (0) | 2020.06.26 |
(C 예제) 재귀 함수 (0) | 2020.06.25 |
(C 예제) 함수 정리 및 예제, static 변수 (0) | 2020.06.25 |