/*
입력 받은 수가 소수인지 아닌지를 구하라.
*/
#include <stdio.h>
#define TRUE 1
int is_sosu(int a)
{
int i;
for(i=2;i<a;i++)
{
if(a%i==0)
return !TRUE;
}
return TRUE;
}
void main(void)
{
int j;
puts("\n 입력된 숫자가 소수인지 아닌지를 구해보자! \n ('0'을 입력하면 종료됩니다.)");
while(TRUE)
{
puts("\n\n ↓숫자를 입력하세요");
scanf("%d",&j);
if(j==1)
{
printf("1은 소수가 아닙니다.");
continue;
}
if(j<0)
{
printf("\n 음수를 넣지 마세요.");
continue;
}
if(j==0)
break;
printf("\n %d은(는) %s", j, is_sosu(j) ? "소수이다.":"소수가 아니다.");
/* is_sosu(j)의 결과가 TRUE이면, %s에는 "소수이다."에 대응.
!TRUE이면 %s에는 "소수가 아니다."에 대응하여 출력된다. if~else문 대용 */
}
}
'IT_Programming > C · C++' 카테고리의 다른 글
printf와 scanf에 관한 짤막한 글 (0) | 2007.01.24 |
---|---|
포인터 선언과 연산 테스트 (0) | 2007.01.24 |
입력 받은 두 수의 최대 공약수를 구하는 소스 (0) | 2007.01.19 |
스택(STACK)을 이용해서 만든 계산기 (0) | 2006.12.13 |
문자열을 이용한 산술 연산 (2의 지수승 더하기) (0) | 2006.03.06 |