例五 显示函数曲线图
#include <stdio.h>
#include <math.h> //应用sin()函数
#define PI 3.1415927
#define H 25 //总行数
#define N 2*PI/H //间隔系数
#define BLANK ' '
#define DOT '*'
int main()
{
int a,i,j;
for(i=0;i<H;i++)
{
a=30*sin(i*H); //扩大30倍
for(j=0;j<a+40;j++) //以40为中心作图形
{
if(i==40)
printf("%c",'|');
else
printf("%c",BLANK);
}
printf("%c",DOT); //曲线相对位置画点
if(a<0)
{
for(j=a+41;j<40;j++)
{
printf("%c",BLANK); //空格补位
}
printf("%c",'|');
}
printf("\n");
}
return 0;
}
运行结果:
实例效果与目的
这是一个屏幕显示函数在[0,2]区间的模拟曲线程序,程序运行后,在屏幕上显示x轴(从上至下)及以x轴为坐标轴的函数离散点曲线。
笔记
C语言中用#define实现宏代换,提高了程序的可读性,且程序易于修改。#define的作用域是自出现点到所在源程序末尾,且不加分号。以应用的宏可以用#undef命令取消。