| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 527 人关注过本帖
标题:[讨论]关于余弦函数曲线
只看楼主 加入收藏
Flanders
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-7-16
收藏
 问题点数:0 回复次数:1 
[讨论]关于余弦函数曲线

如何用数组实现在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线?
不用数组的代码如下:
#include<stdio.h>
#include<math.h>
void main()
{
double y;
int x,m;
for(y=1;y>=-1;y-=0.1) /*y为列方向,值从1到-1,步长为0.1*/
{
m=acos(y)*10; /*计算出y对应的弧度m,乘以10为图形放大倍数*/
for(x=1;x<m;x++) printf(" ");
printf("*"); /*控制打印左侧的 * 号*/
for(;x<62-m;x++)printf(" ");
printf("*\n"); /*控制打印同一行中对称的右侧*号*/
}
}
我用的是这个方法:
#include <stdio.h>
#include <math.h>
void main()
{
char y[21][63];
double n;
int i,j,m;
for(i=0;i<=20;i++)
for(j=0;j<=62;j++)
{
n=0.1*i;
m=acos(1-n)*10;
if(m==j||m==62-j)y[i][j]='*';
else y[i][j]=' ';
}
for(i=0;i<=20;i++)
{
for(j=0;j<=62;j++)
printf("%c",y[i][j]);
printf("\n");
}
}
有人想到更简单的吗?题目说用数组很简单的!

搜索更多相关主题的帖子: 余弦函数 曲线 printf include 
2007-07-19 16:28
limeng_HOHO
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:49
专家分:50
注 册:2007-7-16
收藏
得分:0 
#include<stdio.h>
#include<math.h>
#define K 3.14
void main()
{
double y;
int x,m;
int a[2],i;
for(y=1;y>=-1;y-=0.1)
{
m=acos(y)*10;
a[0]=m,a[1]=20*K-m;
for(x=1;x<a[0];x++) printf(" ");
printf("*");
for(;x<a[1];x++)printf(" ");
printf("*\n");
}
}

在你第一个程序基础上改的

世界并不美丽 然而又因此而美丽
2007-07-19 18:14
快速回复:[讨论]关于余弦函数曲线
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021402 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved