U E D R , A S I H C RSS

새싹교실/2016/한국표준시반/5주차 (rev. 1.14)

새싹교실/2016/한국표준시반/5주차


1. 참가자


강사 반페이지학생
홍성현국표준시반은경상범

2. 내용


  • 2016/05/10 오전 11시~ 오후 1시
  • 함수
  • 배열 약간

3. 과제1

두 정수(x, y)를 비교하는 함수를 만드세요.

x > y이면 1을 return

x < y 이면 -1을 return

x == y 이면 0을 return

합니다.

3.1. 김은경


#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int compare(int x, int y);

int main(void)
{
int nx,ny;
printf("정수 x,y를 입력하세요\n");
scanf("%d %d",&nx,&ny);

int result= compare(nx,ny);
printf("%d\n",result);

return 0;
}

int compare(int x,int y) {
if(x>y) return 1;
else if (x==y) return 0;
else return -1;
}


3.2. 박상범


     

   int compare(int x,int y)
{
    

    if (x>y)
         return 1;
    else if (x == y)
         return 0;
    else
         return -1;
     



}




4. 과제 2

원소의 개수가 8개인 int형 배열과 두 정수 i, j를 매개변수(parameter, 또는 인자라고 부릅니다.)로 받아서 i번째 원소와 j번째 원소의 값을 바꾸는 함수를 만드세요.

ex> 1, 2, 3, 4, 5, 6, 7, 8

0번째와 7번째를 바꿈

8, 2, 3, 4, 5, 6, 7, 1


4.1. 김은경


#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

void num_change(int i, int j) {
	int change1, change2, a, trans;
	int num[8];

	printf("8개의 정수를 입력하세요\n");
	for (a = 0; a < 8; a++) {
		scanf("%d", &num[a]);
	}//for_a scan end

	printf("i번째 원소와 j번째 원소를 바꿉니다. i,j를 입력하세요 : ");
	scanf("%d %d", &change1, &change2);

	trans = num[change1];
	num[change1] = num[change2];
	num[change2] = trans;

	for (a = 0; a < 8; a++) {
		printf("%d ", num[a]);
	}//for_a result print
}

4.2. 박상범



#include<stdio.h>

void ChangeOrder(int a[],int i,int j)
{
    int temp;

    temp = a[ i-1 ];

    a[i-1] = a[j-1];
    a[j-1]= temp;
   
    

}




int main()
{

	int a[8];
	int i,j,k;

	printf("8칸 짜리 배열 채워넣을 숫자 입력");
	for(k=0 ;k<8 ;k++)
		scanf("%d",&a[k]);

	printf("순서 바꿀 칸수 두개 입력");
	scanf("%d %d",&i,&j);

	ChangeOrder(a,i,j);

	for(k=0 ; k < 8  ;k++)
	{
	   printf("%d ",a[k]);
	}	
}



5. 과제3

반지름 r이 주어졌을 때(단, r은 int형이다.) 원의 넓이를 double형으로 return하는 함수를 만드세요.(단, 원의 넓이는 r^2pi이고, pi는 3.14를 사용합니다.)


5.1. 김은경




double circle_area(int r){

float pi=3.14;
double result= pi*r*r;

return result;

}


5.2. 박상범



double area(int r)
{
   
return r*r*3.14;



}



6. 과제4

어떤 수 x가 주어졌을 때, 그 수가 소수이면 1을 return 하고 아니면 0을 return하는 함수를 만드세요.


위의 함수를 사용하여 1부터 100까지의 수 중 소수를 모두 찾아서 배열에 저장하고, 역순으로 출력하세요.


6.1. 김은경


#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int prime_num(int x);
int main(void) {
int prime[100],i,order;
for(i=2,order=0;i<101;i++,order++) {
if(prime_num(i)==1) {
prime[order]=i;
}//if_x is prime num

}// for i end

for(i=0;i<100;i++) {
if(prime[99-i]==0)continue;
printf("%d ",prime[99-i]);
}// for i end

return 0;
}//main end

int prime_num(int x) {
int count=0, j;
for(j=1;j<x;j++) {
if(x%j==0) count++;
}//for j end

if(count==1) return 1;
else return 0;

}



6.2. 박상범



int PrimeNum(int x)
{
   int i,ct=0;       //ct는 x가 '1씩 증가하는 i' 로 나눠진 횟수 (count의 약자임 ㅋ)
 

   for(i=1 ; i <= x; i++)
    {
        if( x % i == 0)
            ct++;
        

    }

    if(ct == 2)
       return 1;
    else
       return 0;


}







7. 후기

은경 - 과제한거 피드백 받고싶어요!!
상범 -




Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:30:04
Processing time 0.0303 sec