一:打印正弦曲线

#include

#include

int main()

{

double y;

int x,m;

for(y=1;y>=0;y-=0.1)

{

m=asin(y)*10;

for(x=1;x

printf(" ");

printf("*");

for(;x<32-m;x++)

printf(" ");

printf("*\n");

}

for(y=0;y<=1;y+=0.1)

{

m=asin(y)*10+34;

for(x=1;x

printf(" ");

printf("*");

for(;x<99-m;x++)

printf(" ");

printf("*\n");

}

return 0;

}

结果:

思考:

缩放,由程序一横列代表0.1,对应的一竖列也是0.1才可以清楚的表示cosx的图像

从方程入手,从y轴开始打,此为方法

此题还有对称与重复

二:打印cosx和y=1-1/3x的图像

#include "stdio.h"

#include

void main()

{

int x,m,n;

double y;

for(y=1;y>=-1;y-=0.1)

{

m=acos(y)*10;

n=(3-3*y)*10;

for(x=0;x<=62;x++)

if(x==m&&x==n)

printf("+");

else if(x==n)

printf("+");

else if(x==m||x==62-m)

printf("*");

else printf(" ");

printf("\n");

}

}

结果:

思考:

打印第二个for循环的最后的换行很重要

打印时注意y值应从大变小

打印*和+的方法可用于程序一中且易懂

同一要注意缩放,直线和曲线都有缩放,为十倍

三:打印余弦和正弦曲线

#include "stdio.h"

#include

void main()

{

int x,m,n;

double y;

for(y=1;y>=0;y-=0.1)

{

m=acos(y)*10;

n=asin(y)*10;

for(x=0;x<=62;x++)

if(x==m&&x==n)

printf("+");

else if(x==m||x==62-m)

printf("*");

else if(x==n||x==31-n)

printf("+");

else printf(" ");

printf("\n");

}

for(y=0.1;y<=1;y+=0.1)

{

m=acos(-y)*10;

n=asin(y)*10+32;

for(x=0;x<=62;x++)

if(x==m&&x==n)

printf("+");

else if(x==m||x==62-m)

printf("*");

else if(x==n||x==95-n)

printf("+");

else printf(" ");

printf("\n");

}

}

结果:

思考:

思维的变通,程序一是将打印分成上下两部分,程序三依照此法亦可

四:打印圆

#include

#include

void main()

{

int m,x;

double y;

for(y=1;y>=-1;y-=0.1)

{

m=sqrt(1-y*y)*20+20;

for(x=0;x<=40;x++)

if(x==m||x==40-m)

printf("*");

else printf(" ");

printf("\n");

}

}

结果:

思考:

此题的标准做法:

#include

#include

void main()

{

int x,m;

double y;

for(y=10;y>=-10;y--)

{

m=2*sqrt(100-y*y);

for(x=1;x<30-m;x++)

printf(" ");

printf("*");

for(;x<30+m;x++)

printf(" ");

printf("*\n");

}

}

答案引入了屏幕纵横比调节系数(红色),实际与上程序中的缩放是一个意思

另一个重点是圆方程的应用,这是核心算法

另外打印时与我的思路不太相同,一为平移图像,一为对称打印,但都与算法相符,值得注意

五:打印y=x*x和圆叠加的图形

#include

#include

void main()

{

int x,m,n;

double y;

for(y=1;y>=-1;y-=0.1)

{

m=sqrt(1-y*y)*20+20;

if(y>0)

n=sqrt(y)*20+20;

else n=100;

for(x=0;x<=40;x++)

if(x==m||x==n)

printf("+");

else if(x==m||x==40-m)

printf("*");

else if(x==n||x==40-n)

printf("+");

else printf(" ");

printf("\n");

}

}

结果:

思考:

y=x*x图形只有y>0部分,这点要考虑

打印时先打的其实是右边部分,再用40-m大的左边

总结:方法大致为从图形找关系,从y轴入手,考虑好缩放,用for语句打印

流程也较固定:

#include 包含函数

int x,m,n;定义整形

double y;定义实型

for(y=1;y>=-1;y-=0.1)y轴的循环

m=sqrt(1-y*y)*20+20;得m值,即x轴值

for(x=0;x=40;x++)用for打印

C语言在坐标轴上输出曲线,C语言打印正弦曲线、直线、圆等等相关推荐

  1. C语言在坐标轴上输出曲线,C语言图形输出习题

    <C语言图形输出习题>由会员分享,可在线阅读,更多相关<C语言图形输出习题(22页珍藏版)>请在人人文库网上搜索. 1.4.4]输入n值,输出如图所示矩形.[4.5]输入n值, ...

  2. c语言指针法实现杨辉三角,C++_C语言在屏幕上输出杨辉三角,这就是杨辉三角,也叫贾宪三 - phpStudy...

    C语言在屏幕上输出杨辉三角 这就是杨辉三角,也叫贾宪三角.这于我们现在的学习联系最紧密的是2项式乘方展开式的系数规律.如图,在贾宪三角中,第3行的第三个数恰好对应着两数和的平方公式依次下去. 杨辉三角 ...

  3. c语言在屏幕上输出一个菱形图案,C语言 在屏幕上输出菱形图案

    在屏幕上输出以下图案: * *** ***** ******* ********* *********** ************* *********** ********* ******* ** ...

  4. C语言在屏幕上输出以下图案 * *** ***** ******* ********* *********** ************* *********** *********

    在屏幕上输出以下图案: * *** ***** ******* ********* *********** ************* *********** ********* ******* ** ...

  5. c语言在屏幕上显示字母,C语言在屏幕上的显示内容

    C语言是一门通用计算机编程语言,那么大家知道C语言在屏幕上的显示内容是什么呢?下面一起来看看! 我们有两种方式从计算机获得信息:一是看屏幕上的文字.图片.视频等,二是听从喇叭发出来的声音. 让喇叭发出 ...

  6. ios开发语言在c语言的基础上,iOS开发 - C语言基础4(基本语句和运算符) - 猫扑天空...

    iOS开发 - C语言基础4(基本语句和运算符) 基本语句 C语言的基本语句跟Java中的差不多,所以,这里只是简单地提一下 循环语句(do while.while.for) 条件语句(if .if- ...

  7. c语言在屏幕上输出三维图形,C语言怎样画正方体

    满意答案 wcf66 2013.11.04 采纳率:43%    等级:12 已帮助:8359人 #include #include #include #include main() { int r, ...

  8. C语言在屏幕上输出玫瑰花图片

    #include <stdio.h> #include<graphics.h> #include<conio.h>int main() {initgraph(500 ...

  9. 用C语言在屏幕上输出以下图案: * *** ***** ******* ********* *********** ************* ***********

    #include <stdio.h>int main() {for (int x = 1; x<8; x++){for(int y=1;y<=2*x-1;y++){printf ...

最新文章

  1. python3 字符串 hex 相互转换 代替python2 decode(‘hex’)
  2. Win32 鼠标绘图代码研究
  3. jdbc连接mysql8的一些坑_mysql8.0 jdbc连接注意事项
  4. 发那科pmc地址分配_一台全新的FANUC数控机床,请简述有挡块回参功能的实现步骤?包括PMC的I/O分配、具体参数设定、梯形图程序...
  5. Problem E: 高于均分的学生
  6. Mybatis结合Oracle的foreach insert批量插入报错!
  7. 基于Swift的简易iOS天气APP
  8. 使用 esxtop 识别存储性能问题
  9. 技巧|在 Mac 上拷贝(复制)、粘贴的方法
  10. 计算机专业英语张强华答案,计算机专业英语答案
  11. pycharm 学生资格过期,提示No suitable licenses associated with account解决方案
  12. 幕布图像大小与投影仪亮度关系对应表,--怎样选投影机和银幕不用愁了
  13. 路由器DNS被劫持 解决办法、dns 被劫持怎么解决
  14. 抖音电商如何直播带货留人,以及催促成交技巧丨国仁网络
  15. 【Linux】一步一步学Linux——VMware Workstation 15 Pro安装图解教程(06)
  16. 手把手教你画架构图,看一次就会了!
  17. 哪个相机可以拍gif动图_魅族手机如何拍摄Gif图片 魅族手机拍摄Gif动图的方法图解...
  18. R语言实战笔记 基本统计分析-频数列联表和简单的独立性检验
  19. Linuxprobe-28期-第二节课
  20. 艾永亮:回力鞋生死的92年,风靡全球后没落,如今成功逆袭

热门文章

  1. 金融行业必看20部电影
  2. Jeston Nano 2K分辨率解决
  3. shell 四种循环详解
  4. java最强的mtk平台_手机QQ塞班S60/JAVA/MTK平台系统升级
  5. 学习单片机的几点经验之谈
  6. Wireshark系列之6 数据流追踪
  7. HTML——表格的基本样式
  8. 从SARS、埃博拉到新冠状病毒,技术在革命中进步
  9. HashMap的fast-fail和ConcurrentHashMap的fail-safe实例
  10. Python 文件IO操作