'gcd 재귀함수'에 해당되는 글 1건

  1. 2015.03.27 C언어 HW 06

C언어 HW 06

|


[ hw06 ]


---------------------------------------------------------------------


#1


#include <stdio.h>


int main()

{

int a[10];

int i;


for(i=0;i<10;i++)

{

printf("%d번째 정수를 입력하시오 : ", i+1);

scanf("%d", &a[i]);

}


for(i=0;i<9;i++)

{

if (a[i] > a[i+1])            // 따로 tmp 인수를 만들지 않고 기존의 인수를 활용하려고 하였다.

a[i+1] = a[i];

}

printf("가장 큰 정수값은 %d입니다.\n", a[9]);

return 0;

}


---------------------------------------------------------------------


#2


#include <stdio.h>

#define size_a 10


float max(float *p);

float min(float *p);

float avg(float *p);



int main()

{

float a[size_a];

int i;

float *p;

p = a;


for(i=0;i<size_a;i++)

{

printf("%d번째 체중 : ", i+1);

scanf("%f", &a[i]);

}


printf("최고체중 : %0.1f    최저체중 : %0.1f    평균체중 : %0.1f\n", max(p), min(p), avg(p));

return 0;

}


float max(float *p){

int i;

float max;

for(i=0;i<size_a-1;i++)

{

if (*(p+i) > *(p+i+1))

max = *(p+i);

}

return max;

}


float min(float *p){

int i;

float min;

for(i=0;i<size_a-1;i++)

{

if (*(p+i) > *(p+i+1))

min = *(p+i+1);

}

return min;

}


float avg(float *p){

int i;

float avg = 0;

for(i=0;i<size_a;i++)

avg += *(p+i);


return avg/10;

}


---------------------------------------------------------------------


#3


#include <stdio.h>


double dp(double x, int n);


int main(){

double x;

int n;


printf("x^n 을 계산하는 프로그램입니다. x와 n을 입력하시오. (x, n) :");

scanf("%lf, %d", &x, &n);


printf("%lf의 %d제곱 = %lf", x, n, dp(x, n));


return 0;

}


double dp(double x, int n){

if (n==1)

return x;

else

return x*dp(x, n-1);             // 재귀함수 사용

}


---------------------------------------------------------------------


#4    // 구글 검색해서 힌트 얻음


#include <stdio.h>


int gcd(int a, int b);


int main(){

int a, b;


printf("최대공약수를 구할 두 수를 입력하세요(a, b) : ");

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

printf("%d와 %d의 최대공약수는 %d 입니다.\n", a, b, gcd(a, b));


return 0;

}


int gcd(int a, int b){            // 정수론 시간에 배운 내용이었는데,, 이렇게 활용되는구나

if (b==0)

return a;

gcd(b, a%b);

}


---------------------------------------------------------------------


#5


#include <stdio.h>

#include <stdlib.h>


int main(){

int *score;

int sn, i, a, b, c, d, f;

a = b = c = d = f = 0;


printf("학생 수 : ");

scanf("%d", &sn);


score = (int *)malloc(sizeof(int)*sn);


for(i=0;i<sn;i++){

printf("%d번째 학생의 점수를 입력하세요 : ", i+1);

scanf("%d", &score[i]);

if (score[i] >= 90)

a++;

else if (score[i] >= 80)

b++;

else if (score[i] >= 70)

c++;

else if (score[i] >= 60)

d++;

else

f++;

}


printf("\n90점 이상 : ");

for(i=0;i<a;i++){

printf("*");

}

printf("\n80점 이상 : ");

for(i=0;i<b;i++){

printf("*");

}

printf("\n70점 이상 : ");

for(i=0;i<c;i++){

printf("*");

}

printf("\n60점 이상 : ");

for(i=0;i<d;i++){

printf("*");

}

printf("\n60점 미만 : ");

for(i=0;i<f;i++){

printf("*");

}

printf("\n");


free(score);


return 0;

}



---------------------------------------------------------------------


#6



#include <stdio.h>

#include <stdlib.h>

#include <time.h>


int main(){


int num, seed;

int i = 1;


seed = time(NULL);

srand(seed);

num = rand() % 100;

while(1)

{

printf("어떤 숫자일지 맞춰보세요 : ");

scanf("%d", &seed);

if (num == seed){

printf("%d번만에 맞추셨네요~ 짝짝짝\n", i);

break;

}

else if (num > seed ){

printf("더 작은 수를 입력하셨네요~\n");

i++;

}

else{

printf("더 큰 수를 입력하셨네요~\n");

i++;

}

}


return 0;

}



---------------------------------------------------------------------




'Study > C언어' 카테고리의 다른 글

C언어 HW 05  (0) 2015.03.27
C언어 HW 04  (0) 2015.03.27
C언어 HW 03  (0) 2015.03.27
C언어 HW 02  (0) 2015.03.27
C언어 HW 01  (0) 2015.03.27
And


prev | 1 | next