C언어의 간단한 예제를 설계부터 코드화까지 (4/9)C언어의 간단한 예제를 설계부터 코드화까지 (4/9)

Posted at 2009. 12. 28. 15:52 | Posted in About Programing/02. 준비운동
[문제 4/9]
1-100 까지의 홀수 합을 구하시오.(단, 3의 배수와 5의 배수 제외)

1. System chart

2. 수작업의 이해

숫자

1

2

3

4

5

6

7

홀수판단

×

×

×

3의 배수가 아닌가

×

×

5의 배수가 아닌가

×

1

1

1

1

1

1

8

3. 처리 과정

1. 100번 반복한다.
   1.1 수를 센다.
   1.2 홀수인지 판단한다.
        1.2.1 3의 배수인지 판단한다.
        1.2.2 5의 배수인지 판단한다.
        1.2.3 합을 구한다.
2. 합을 출력한다.
3. 끝낸다.

4. 자료명세서

number

입력받을 숫자

정수형

plus

양수 count

정수형

odd

음수 count

정수형

even

짝수 count

정수형

minus

홀수 count

정수형

remainder

나머지

정수형

i

반복제어변수

정수형


5. NS-Chart

6. NS-Chart 검토표

 

초기

 

 

 

 

 

 

 

 

number

?

1

2

3

4

5

6

7

sum_odd

0

1

 

 

 

 

 

8

tree_remainder

?

1

 

0

 

2

 

1

five_remainder

?

1

 

3

 

0

 

2

remainder

?

1

0

1

0

1

0

1

i

?

1

2

3

4

5

6

7


7. 소스화


#include <stdio.h>

#define MAX 100

typedef unsigned short UShort;

UShort	GetSumOdd	(void);
void	Display		(UShort sum_odd);

int main (int argc, char *argv[])
{
	UShort sum_odd;
	sum_odd = GetSumOdd ( );

	Display (sum_odd);

	return 0;
}

UShort GetSumOdd (void)
{
	UShort sum_odd = 0;
	UShort number, tree_remainder, five_remainder, remainder, i;

	for(i=1 ; i <= MAX ; i++)
	{
		number		= i;
		remainder	= number % 2;

		if(remainder==1)
		{
			tree_remainder = number % 3;
			five_remainder = number % 5;

			if(tree_remainder != 0 && five_remainder != 0)
			{
				sum_odd += number;
			}
		}
	}

	return sum_odd;
}

void Display (UShort sum_odd)
{
	printf ("%d\n", sum_odd);
}


8. 결과
  1. 좀 자주 좀 업뎃하라능. 버럭버럭!
  2. 비밀댓글입니다

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기