# include <stdio.h>
# include <stdlib.h>
#define swap(type, x, y) do{ type t=x; x=y ; y=t; } while(0)
void ary_reverse(int a[], int n)
{
int i;
for (i=0;i<n/2;i++){
swap(int, a[i], a[n-i-1]);
}
}
int main(void){
int i;
int *x;
int nx;
printf("요소 개수 : ");
scanf("%d", &nx);
x=calloc(nx,sizeof(int));
printf("%d 개의 정수를 입력하세요\n", nx);
for (i=0;i<nx;i++){
printf("x[%d] : ", i);
scanf("%d", &x[i]);
}
ary_reverse(x, nx);
printf("배열의 요소를 역순으로 정렬\n");
for (i=0;i<nx;i++){
printf("x[%d] : %d", i, x[i]);
}
free(x);
return 0;
}
# include <stdio.h>
# include <stdlib.h>
int card_convr(unsigned x, int n, char d[]) //정수 값 x를 n 진수로 변환해 배열 d에 아랫자리부터 저장
{
char dchar[]="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int digits=0;
if (x==0){
d[digits++]=dchar[0];
} else {
while(x){
d[digits++]=dchar[x%n]; //이렇게 담아주면 처음 나머지부터 순차적으로 담김=>나중에 프린트 해줄때 거꾸로
x/=n;
}
}
return digits; //반환해주는 건 기수 바뀐 후의 자릿수
}
int main(void){
int i;
unsigned no; //변환하는 정수
int cd; // 기수
int dno; // 변환 후 자릿수
char cno[512];
int retry;
puts("10진수를 기수 변환합니다");
do{
printf("변환할 음이 아닌 정수 : ");
scanf("%u", &no);
do{
printf("어떤 진수로 변환할까요?(2-36) : ");
scanf("%d", &cd);
} while(cd<2||cd>36); //무조건 한번 물어보고 만약 입력받았는데 아니라면 한번 더 돌아라~
dno=card_convr(no,cd,cno);
printf("%d진수로는", cd);
for (i=dno-1;i>=0;i--)
printf("%c", cno[i]);
printf("입니다\n");
printf("한 번 더 할까요?(1--예/0--아니오) :");
scanf("%d", &retry);
}while(retry==1);
return 0;
}
-100의 약수 10x10 전까지 2*50 등이 있는데 따라서 반반이 되는 아이 전까지만 체크해봐도 the same
바깥 ㅣ for (n=5;n<1000;n+=2)
안쪽 | for(i=1;prime[i]*prime[i]<=n;i++)
if (n%prime[i]==0) 일케 체크
# include <stdio.h>
int mdays[][12]={
{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{31,29,31,30,31,30,31,31,30,31,30,31} //윤년의 경우 : 4의 배수가운데 100의 배수 제외하고
//제외한 100의 배수 가운데 400의 배수를 다시 포함
};
int isleap(int year) //윤년 판단
{ return year%4==0&& year % 100 !=0 || year %400==0;
}
int dayofyear(int y, int m, int d){ //그동안 지난 일수 구하기
int i;
int days =d;
for(i=1;i<m;i++);
days+=mdays[isleap(y)][i-1]; //1월이 index 0이므로
return days;
}
int main(void){
int year, month, day;
int retry;
do{
printf("년 : "); scanf("%d", &year);
printf("월 : "); scanf("%d", &month);
printf("일 : "); scanf("%d", &day);
printf("%d년의 %d일째입니다n", year, dayofyear(year, month, day));
printf("다시 할까요?(1-예, 0- 아니오)");
scanf("%d", &retry);
} while(retry==1);
return 0;
}