C 구구단 파일 저장

최대 1 분 소요

문제

내용

프로그램 상에서 파일 99.txt를 만들어서 구구단을 저장하는 프로그램을 작성하시오.

단, fputc() 함수만 사용해서 구현해야 합니다.

해결

내용

  • 2단부터 9단까지의 결과값들이 모두 두 자리 자연수여서 10으로 나눈 몫과 10으로 나눈 나머지 값들을 활용함.
  • 배열의 다음 인덱스에는 문자 c를 삽입하여 반복문의 조건으로 활용함.
  • 파일 열기 실패나 갖가지 에러에 대한 조건문들은 모두 제외함. (문제 풀이에 더 집중하기 위함.)

코드

#include <stdio.h>
 
int main(void)
{
    FILE* stream;
    int i, j;
    int k=0;
    char result[10]={};
    int s;
    
    stream = fopen("99.txt", "w");
    
    for(i=2;i<=9;i++)
    {
        for(j=1;j<=9;j++)
        {
            s = i*j;
            if(s<10)
            {
                fputc(i+48, stream);
                fputc(42, stream);
                fputc(j+48, stream);
                fputc(61, stream);
                fputc(s+48, stream);
                fputc(10, stream);

                continue;
            }
            else
            {
                k=0;

                fputc(i+48, stream);
                fputc(42, stream);
                fputc(j+48, stream);
                fputc(61, stream);
                
                result[k] = (s)/10 + 48;
                result[k+1] = (s)%10 + 48;
                result[k+2] = 'c';
            }
            
            while(result[k] != 'c')
            {
                fputc(result[k], stream);
                k++;
            }
                
            fputc(10, stream);
        }
    }
    
    fclose(stream);
    
    return 0;
}

댓글남기기