" async="async"> ', { cookie_domain: 'auto', cookie_flags: 'max-age=0;domain=.tistory.com', cookie_expires: 7 * 24 * 60 * 60 // 7 days, in seconds }); 책 알려주는 남자 :: LAB WEEK#7 Function

LAB WEEK#7 Function

프로그래밍 2018. 10. 31. 16:18


LAB.W07(Function)_1029.ppt


1.

#include <stdio.h>


int power(int b, int n)

{

int i, p=1;

for(i=1; i<=n; i++)

p = p*b;

return p;

}


int main(void) 

{

int b, n, result;

printf("Please enter two numbers: ");

scanf("%d %d", &b, &n);


result = power(b, n);


printf("RESULT: %d\n", result);

return 0;

}



2.

#include <stdio.h>

float f(float n)

{

float i, a=1;

for(i=1; i<=n; i++)

a = a*i;

return a;

}


float f2(float n, float r)

{

float i, a=1;

for(i=1; i<=n-r; i++)

a = a*i;

return a;

}


float C(float n, float r)

{

float c;

c = f(n)/f2(n, r)/f(r);

return c;

}


int main(void) 

{

float n, r, result;

printf("Please enter two numbers: ");

scanf("%f %f", &n, &r);


result = C(n, r);


printf("RESULT: %f\n", result);

return 0;

}



3.

#include <stdio.h> // 반복함수 이용 


int dec2bin(int n)

{

int a=0, i, sum=0;

for(i=1; n>0; )

{

a = n%2;

n = n/2;

sum = sum + a*i;

i = i*10;

}

return sum;

}


int main(void) 

{

int  n;

printf("Please enter a decimal number: ");

scanf("%d", &n);


printf("RESULT: %d \n", dec2bin(n));

return 0;

}

=====================================================

#include <stdio.h> // 재귀함수 이용 & void, printf포함 


void dec2bin(int n)

{

int bin;

if (n>0)

{

bin = n%2;

dec2bin(n/2);

printf("%d", bin);

}

return;

}


int main(void) 

{

int  n;

printf("Please enter a decimal number: ");

scanf("%d", &n);


printf("RESULT: \n");

dec2bin(n);

return 0;

}

==================================================

#include <stdio.h> // 재귀함수 이용 & int형, printf미포함 


int dec2bin(int n, int i)

{

if(n<2)

return i;

else

return n%2*i + dec2bin(n/2, i*10);

}


int main(void) 

{

int n, i=1;

printf("Please enter a decimal number: ");

scanf("%d", &n);


printf("RESULT: %d \n", dec2bin(n, i));

return 0;

}



4.

#include <stdio.h> // 반복함수 이용 

float sequence(int n)

{

float i, o, sum=0;

for(i=1; i<=n; i++)

{

o = 1/i;

sum = sum + o;

}

return sum;

}



int main(void) 

{

int  n;

printf("Please enter a number: ");

scanf("%d", &n);


printf("RESULT: %f\n", sequence(n));

return 0;

}

===========================================

#include <stdio.h> // 재귀함수 이용 

float sequence(int n)
{
if (n==1)
return 1.0;
else  
return 1.0/n + sequence(n-1);
}

int main(void) 
{
int n;
printf("Please enter a number: ");
scanf("%d", &n);
printf("RESULT: %f\n", sequence(n));
return 0;
}


★★★★★★ float의 자료형을 감안하여 return 뒤의 정수는 모두 소숫점을 붙여줘야한다.

5.

#include <stdio.h> //반복함수 이용 


int get_tri_number(int n)

{

int i, sum=0;

for(i=1; i<=n; i++)

sum = sum + i;

return sum;

}


int main(void) 

{

int  n;

printf("Please enter a number: ");

scanf("%d", &n);


printf("RESULT: %d\n", get_tri_number(n));

return 0;

}

==============================================

#include <stdio.h> // 재귀함수 이용 


int get_tri_number(int n)

{

if (n==1)

return 1;

else

return n + get_tri_number(n-1); 

}


int main(void) 

{

int  n;

printf("Please enter a number: ");

scanf("%d", &n);


printf("RESULT: %d\n", get_tri_number(n));

return 0;

}


6.

#include <stdio.h>


int get_carry_op(int a, int b)

{

int count=0, i=10, sum=0;

while(a>1)

{

sum = a%i + b%i;

if(sum>9)

{

count++;

a = a/i + 1;

b = b/i;

}

else 

{

a = a/i;

b = b/i;

}

  }

return count;

}


int main(void) 

{

int  a, b;

printf("Please enter two 3-digit numbers: ");

scanf("%d %d", &a, &b);


printf("%d carry operation(s)\n", get_carry_op(a, b));

return 0;

}



'프로그래밍' 카테고리의 다른 글

Assignment #51 ~ #60  (0) 2018.12.19
LAB WEEK#8 Array  (0) 2018.11.05
블로그 이미지

얼음꿀차

책을 한 번 읽긴 읽어야겠는데 막상 읽자니 뭘 읽을지 고민되는 당신을 위해 읽을만한 책들을 알려드립니다!

,