느낀점 ¶
흠.. 소스가 지저분하네요..
소스 ¶
~cpp #include <stdio.h> //반복된 문자열 출력 void fstring(FILE* f,char c, int n) { int i; for(i=0;i<n;i++) { fprintf(f,"%c",c); } fprintf(f,"\n"); } int main() { FILE* file; int a[11] = {3,3,3,3,3,3,3,3,3,3,3}; int asize = (sizeof(a)/sizeof(int)); int i,x,f,addcount,mulcount; //input x printf("x = "); scanf("%d",&x); //호너의 법칙으로 계산 i=asize; f=addcount=mulcount=0; addcount--; // 처음 대입하는 것은 덧셈이 아니므로 보정값 -1 while(1) { i--; f += a[i]; addcount++; if(i==0) break; f *= x; mulcount++; } //파일 출력 file = fopen("result.txt","wt"); fstring(file,'=',53); fprintf(file,"|index|"); for(i=0;i<asize;i++) fprintf(file," %d |",i); fprintf(file,"\n"); fstring(file,'=',53); fprintf(file,"| data|"); for(i=0;i<asize;i++) fprintf(file," %d |",a[i]); fprintf(file,"\n"); fstring(file,'=',53); fprintf(file,"# Horner Function Value ----> %d\n", f); fprintf(file,"# Horner ADD Count ----> %d\n",addcount); fprintf(file,"# Horner Multiply Count ----> %d\n",mulcount); fclose(file); return 0; }