300x250
최대공약수 구하기 (파일포인터, 명령인자, 재귀함수)
#include<stdio.h>
#include<stdlib.h>
int gcd(int a, int b);
int main(int argc, char* argv[])
{
int a, b, result, correct=0, answer;
FILE* infile=NULL;
fopen_s(&infile, argv[1], argv[2]);
if (argc != 3)
{
printf("명령인수가 잘못 입력되었습니다.\n");
exit(1);
}
if (infile == NULL)
{
printf("파일이 열리지 않습니다.\n");
}
while (fscanf_s(infile, "%d %d", &a, &b) != EOF)
{
printf("%d와 %d의 최대공약수 : \n", a, b);
scanf_s("%d", &answer);
result = gcd(a, b);
if (result == answer)
{
printf("정답\n");
correct++;
}
else
printf("오답\n");
}
printf("총 %d개를 맞췄습니다.\n", correct);
}
int gcd(int a, int b)
{
int tmp;
while (b != 0)
{
tmp = b;
b = a%b;
a = tmp;
}
return a;
}
반응형
'C & Docker & LINUX' 카테고리의 다른 글
C언어 난수 출력 rand()함수 이용예제 (0) | 2016.05.16 |
---|---|
C언어 마방진(MAGIC SQUARE) (0) | 2016.05.15 |
리눅스 특징, 디렉터리 (0) | 2016.04.15 |
리눅스 - find명령어 (0) | 2016.04.06 |
리눅스 - 사용자 생성 및 계정 관리 (0) | 2016.04.02 |