/******************************************************************************* * /file acosline.c * /brief draw acos line on terminal * /date 10/11/2009 08:46:22 PM * /author CHD-ZYP, magicpang@gmail.com * /company SECRET ******************************************************************************/ #include <stdio.h> #include <stdlib.h> #include <math.h> #define STEP 1.0 #define TIMES 10.0 #define STEPLEN ((STEP)/(TIMES)) #define MAXVALUE ((int)((acos(-1)*TIMES)*2)) void printacos(void) { double y; printf("max value is %d/n", MAXVALUE); for(y = 1.0; y >= -1.0; y -= STEPLEN) { printf("y is %g, acos(y)*STEPLEN is %d/n", y, (int)(acos(y) * TIMES)); } } int main ( int argc, char *argv[] ) { double y; int x, m; #if 0 printacos(); #else for(y = 1; y >= -1; y -= STEPLEN) { m = acos(y) * TIMES; for(x = 1; x < m; x++) printf(" "); printf("*"); for(; x < MAXVALUE - m; x++) printf(" "); printf("*/n"); } #endif return EXIT_SUCCESS; } 看到论坛里面有人贴了一个说有趣c程序小例子,跑了第一个,想明白了之后弄个更通用一点的 可以变换步长,也可以了解例子里面那个62大概是怎么来的。