본문내용
열혈강의 C 프로그래밍 솔루션
도전 프로그래밍 TWO
도전 1
- 소스코드
#include
void Odd_num(int *pval) // 홀수 번호 추출
{
int i;
for (i = 0; i < 10; i++)
{
if ((pval[i] % 2) != 0) printf("%d, ", pval[i]);
}
}
void Even_num(int *pval) // 짝수 번호 추출
{
int i;
for (i = 0; i < 10; i++)
{
if ((pval[i] % 2) == 0) printf("%d, ", pval[i]);
}
}
void main(void)
{
int val[10];
int i;
printf("총 10개의 숫자 입력 \n");
for (i = 0; i < 10; i++)
{
printf("? : ");
scanf_s("%d", &val[i]);
}
printf("홀수 출력 : ");
Odd_num(val);
printf("\n짝수 출력 : ");
Even_num(val);
return 0;
}
- 결과
도전 2
- 소스코드
#include
void main(void)
{
int val;
int bin[10];
int i = 0;
printf("10진수 정수 입력 : ");
scanf_s("%d", &val);
while (val >= 2)
{
bin[i] = val % 2;
val = val / 2;
i++;
}
bin[i] = val; // 마지막 계산값 저장
for (; i >= 0; i--) // 배열의 반대순서로 출력
{
printf("%d", bin[i]);
}
return 0;
}
- 결과
도전 3
- 소스코드
#include
void main(void)
{
int temp;
int val[10];
int i,j=9,k=0;
printf("총 10개의 숫자 입력 \n");
for (i = 0; i < 10; i++)
{
printf("? : ");
scanf_s("%d", &temp);
if (temp % 2 != 0) val[k++] = temp; // 짝수는 k 변수로 배열선정
else val[j--] = temp; // 홀수는 j 변수로 배열선정
}
printf("배열 요소의 출력 : ");
for (i = 0; i < 10; i++)
{
printf("%d ", val[i]);
}
return 0;
}
- 결과
도전 4
- 소스코드
#include
char match_flag = 0; // 회문인지 아닌지의 여부 flag
void Palindorome(char *pstr,int length) // 회문여부확인 함수
{
int i,j=--length;
for (i = 0; i < (length / 2); i++)
{
if (pstr[i] != pstr[j--])
{
match_flag = 0;
return;
}
}
match_flag = 1;
}
int String_length(char* pstr) // 문자열 길이 산출함수
{
int i=0,length = 0;
while (pstr[i++] != '\0')
{
length++;
}
return length;
}
void main(void) // 메인함수
{
char str[30];
int i;
printf("문자열 입력 :");
scanf("%s", str);
Palindorome(str,String_length(str));
if (match_flag == 1) printf("회문입니다");
else printf("회문이 아닙니다");
return 0;
}
- 결과
도전 5
- 소스코드
#include
int main(void)
{
int arr[7];
int i, j, temp;
for (i = 0; i < 7; i++)
{
printf("? :");
scanf_s("%d", &arr[i]);
}
for (i = 0; i < 6 ; i++)
{
for (j = 0; j < 6 - i; j++)
{
if (arr[j] < arr[j + 1])
{
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for (i = 0; i < 7; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
- 결과
도전 프로그래밍 TWO
도전 1
- 소스코드
#include
void Odd_num(int *pval) // 홀수 번호 추출
{
int i;
for (i = 0; i < 10; i++)
{
if ((pval[i] % 2) != 0) printf("%d, ", pval[i]);
}
}
void Even_num(int *pval) // 짝수 번호 추출
{
int i;
for (i = 0; i < 10; i++)
{
if ((pval[i] % 2) == 0) printf("%d, ", pval[i]);
}
}
void main(void)
{
int val[10];
int i;
printf("총 10개의 숫자 입력 \n");
for (i = 0; i < 10; i++)
{
printf("? : ");
scanf_s("%d", &val[i]);
}
printf("홀수 출력 : ");
Odd_num(val);
printf("\n짝수 출력 : ");
Even_num(val);
return 0;
}
- 결과
도전 2
- 소스코드
#include
void main(void)
{
int val;
int bin[10];
int i = 0;
printf("10진수 정수 입력 : ");
scanf_s("%d", &val);
while (val >= 2)
{
bin[i] = val % 2;
val = val / 2;
i++;
}
bin[i] = val; // 마지막 계산값 저장
for (; i >= 0; i--) // 배열의 반대순서로 출력
{
printf("%d", bin[i]);
}
return 0;
}
- 결과
도전 3
- 소스코드
#include
void main(void)
{
int temp;
int val[10];
int i,j=9,k=0;
printf("총 10개의 숫자 입력 \n");
for (i = 0; i < 10; i++)
{
printf("? : ");
scanf_s("%d", &temp);
if (temp % 2 != 0) val[k++] = temp; // 짝수는 k 변수로 배열선정
else val[j--] = temp; // 홀수는 j 변수로 배열선정
}
printf("배열 요소의 출력 : ");
for (i = 0; i < 10; i++)
{
printf("%d ", val[i]);
}
return 0;
}
- 결과
도전 4
- 소스코드
#include
char match_flag = 0; // 회문인지 아닌지의 여부 flag
void Palindorome(char *pstr,int length) // 회문여부확인 함수
{
int i,j=--length;
for (i = 0; i < (length / 2); i++)
{
if (pstr[i] != pstr[j--])
{
match_flag = 0;
return;
}
}
match_flag = 1;
}
int String_length(char* pstr) // 문자열 길이 산출함수
{
int i=0,length = 0;
while (pstr[i++] != '\0')
{
length++;
}
return length;
}
void main(void) // 메인함수
{
char str[30];
int i;
printf("문자열 입력 :");
scanf("%s", str);
Palindorome(str,String_length(str));
if (match_flag == 1) printf("회문입니다");
else printf("회문이 아닙니다");
return 0;
}
- 결과
도전 5
- 소스코드
#include
int main(void)
{
int arr[7];
int i, j, temp;
for (i = 0; i < 7; i++)
{
printf("? :");
scanf_s("%d", &arr[i]);
}
for (i = 0; i < 6 ; i++)
{
for (j = 0; j < 6 - i; j++)
{
if (arr[j] < arr[j + 1])
{
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for (i = 0; i < 7; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
- 결과
소개글