/*
#include <stdio.h>
int main()
{
int n,m,i=0,j=0,k=0;
int dir=1;
int arr[101][101]={};
scanf("%d %d",&n,&m);
j=m-1;
for(k=1;k<=n*m;k++){
arr[i][j]=k;
if(dir==0)
{
j++;
if(arr[i][j]!=0)
{
dir++;
// if(i!=0){
j--;
i++;
//}
}
}
else if(dir==1)
{
i++;
if(i%n==n-1|| arr[i][j]!=0)
{
dir++;
if(j!=m-1){
i--;
j--;
}
}
}
else if(dir==2)
{
j--;
if(j==0||arr[i][j]!=0)
{
dir++;
if(k>n+m-1){
j++;
i--;
}
}
}
else if(dir==3)
{
i--;
if((i==0&&j==0)||arr[i][j]!=0)
{
dir=0;
if(i==0&&j==0){
}
else {i++;
j++;
}
}
}
}
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
return 0;
}
599
*/
//#include <stdio.h>
//#include <string.h>
//
//int main()
//{
// char str[101]={};
// int i;
// gets (str);
// for(i=0;str[i]!=NULL;i++){
// if('a'<=str[i]&&str[i]<='z'){ //소문자이면
// printf("%c",str[i]-32);
// } else if('A'<=str[i]&&str[i]<='Z'){
// printf("%c",str[i]);
// }
// }
//
//}
//#include <stdio.h>
//#include <string.h>
//
//int main()
//{
// char str[101]={};
// int i;
// gets (str);
// for(i=0;str[i]!=NULL;i++){
// if((48<=str[i]&&str[i]<=57)||'a'<=str[i]&&str[i]<='z'){
// printf("%c",str[i]);
// } else if('A'<=str[i]&&str[i]<='Z'){
// printf("%c",str[i]+32);
// }
// }
//}
//#include <stdio.h>
//#include <string.h>
//
//int main()
//{
// char str[101]={};
// char letter[2]={};
// int i,n=0;
// scanf("%s",&str);
// scanf("%s",&letter);
// for(i=0;str[i]!=NULL;i++){
// if(letter[0]==str[i]){
// printf("%d",i);
// n++;
// break;
// }
// }
// if(n==0){
// printf("No");
// }
//}
//#include <stdio.h>
//#include <string.h>
//
//int main()
//{
// char one[101]={};
// char two[101]={};
// int i,a=0,b=0;
// scanf("%s %s",&one,&two);
// for(i=0;one[i]!=NULL;i++){
// a++;
// }
// for(i=0;two[i]!=NULL;i++){
// b++;
// }
// printf("%d",(a>b)?a:b);
//
//}
//#include <stdio.h>
//#include <string.h>
//
//int main()
//{
// char str[101]={};
// int i,n,len=0;
// scanf("%s %d",str,&n);
// len=strlen(str);
// for(i=len-1;i>=0&&i>=len-n;i--){
// printf("%c",str[i]);
// }
//
//
//}
//#include <stdio.h>
//#include <string.h>
//
//int main()
//{
// char str[101]={};
// int i,n=2;
// gets (str);
// for(i=0;str[i]!=NULL;i++){
// if(str[i]== ' '){
// printf("\n");
// n++;
// } else if(n%2==0){
// printf("%c",str[i]);
// }
// }
//}
//#include <stdio.h>
//#include <string.h>
//
//int main()
//{
// char str[101]={};
// int i,a=0,b=0;
// scanf("%s",str);
// for(i=0;str[i]!=NULL;i++){
// if(str[i]==99) a++;
// else if(str[i]==97&&str[i+1]==98) b++;
// }
// if(a>0){
// printf("Yes");
// } else{
// printf("No");
// }
// if(b>0){
// printf("Yes");
// } else{
// printf("No");
// }
//}
//#include <stdio.h>
//
//void print(int q){
// for(int i=1;i<=q;i++){
// printf("~!@#$^&*()_+|\n");
// }
//}
//
//int main()
//{
// int n;
// scanf("%d",&n);
// print(n);
//}
//#include <stdio.h>
//
//void print(int p)
//{
// int i,j,k=1;
// int arr[101][101]={};
// for(i=1;i<=p;i++){
// for(j=1;j<=p;j++){
// arr[i][j]=k++;
// }
// }
// for(i=1;i<=p;i++){
// for(j=1;j<=p;j++){
// printf("%d ",arr[i][j]);
// }
// printf("\n");
//}
//}
//
//int main()
//{
// int n;
// scanf("%d",&n);
// print(n);
// return 0;
//}
//#include <stdio.h>
//int chore(int a,int b)
//{
// int i;
// int c=1;
// for(i=1;i<=b;i++){
// c=c*a;
// }
// return c;
//}
//
//int main()
//{
// int a,b;
// scanf("%d %d",&a,&b);
// printf("%d",chore(a,b));
//
// return 0;
//}
//#include <stdio.h>
//
//void AHAHAHAHAH(int a,int b);
//
//int main()
//{
// int a,b;
// scanf("%d %d",&a,&b);
// AHAHAHAHAH(a,b);
// return 0;
//}
//
//void AHAHAHAHAH(int n,int m)
//{
// int i,j;
// for(i)
//}
//#include <stdio.h>
//
//int BAB(int a);
//
//int main()
//{
// int n;
// scanf("%d",&n);
// printf("%d",BAB(n));
// return 0;
//}
//
//
//int BAB(int a)
//{
// int i,sum=0;
// for(i=1;i<=a;i++){
// sum = sum + i;
// }
// return(sum);
//}
//#include <stdio.h>
//
//double radius(double a);
//
//int main()
//{
// double area;
// scanf("%lf",&area);
// printf("%.2lf",radius(area));
// return 0;
//}
//
//double radius(double a)
//{
// double r;
// r =sqrt((a/3.14));
// return r; //return하는 자료형이 더블이니 위에도 더블로 바꿔주기
//}
//#include <stdio.h>
//
//int answer(int a);
//
//int main()
//{
// int n;
// scanf("%d",&n);
// printf("%d",answer(n));
//
// return 0;
//}
//
//int answer(int a)
//{
// int i,s=1;
// for(i=1;i<=a;i++){
// s=s*2;
// }
// return s;
//}
/*
구조체 : 사용자 정의 자료형
ex) 학생 100명의 나이(정수)와 성적(char)를 관리
before
int age[100];
char grade[100];
//구조체 선언
typedef struct
{
//멤버
int age;
char grade;
}student;
struct student
{
int age;
char grade;
}std;
int main()
{
struct student arr[100];
std arr1[100];
// student arr[100];
arr[i].age=10;
arr[i].grade='a';
scanf("%d %c",&arr[i].age, &arr[i].grade);
//swap arr[1] arr[10]
int temp;
temp=arr[1].age;
arr[1].age=arr[10].age;
arr[10].age=temp;
char temp1;
temp1=arr[1].grade;
....
//여러 변수를 묶어서 사용할 때 편리
student tmp;
tmp = arr[1];
arr[1] = arr[10];
arr[10] = tmp;
}
//포인터 : 주소를 저장하는 변수
int main()
{
int a = 10;
int* pa = &a;
printf("a : %d\n",a);
printf("&a : %d\n",&a);
printf("pa : %d\n",pa);
//간접참조연산자
printf("*pa : %d",*pa);
}
// main에 a와 b를 받고 f에서 main의 a와 b의 주소를 받아 값을 swap하는 함수 만들기
#include <stdio.h>
void address(int*pa,int*pb)
{
int temp=0;
temp=(*pa);
(*pa)=(*pb);
(*pb)=temp;
}
int main()
{
int a=7,b=13;
printf("before : %d %d\n",a,b);
address(&a,&b);
printf("after : %d %d",a,b);
}
#include <stdio.h>
void f(int* pa)
{
//printf("%d",*pa);
(*pa)++;
}
int main()
{
int a = 10;
f(&a);
printf("%d",a);
}
char str[50];
scanf("%s",str);
&str[0]
배열의 이름은 배열의 시작 주소
#include <stdio.h>
void f(int* parr)
{
//parr[0]=10; //1. 인덱스 접근
//(*parr)=10; //2. 간접찹조연산자
// parr[3]=10;
// *(parr+3)=10;
}
int main()
{
int arr[100]={4,5,6,7,8,9,1,2,3,4};
printf("%d\n",arr[3]);
f(arr);
printf("%d\n",arr[3]);
}
int a=97;
printf("%d",a);
printf("%x",a);
printf("%c",a);
strict
*/