#include?stdio.h
目前創(chuàng)新互聯(lián)公司已為近千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、驛城網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
#include?math.h
void?main()
{
double?y;
int?x,n;
for?(y?=?1;?y?=-1;?y-=0.1)
{
for?(x?=?0;?x?=?62;?x++)
{
if(y=0)??
n?=?asin(y)?*?10;
else?
n?=?-asin(y)?*?10;
if?((y=0(x?==?n||x==31-n))||(y0(x==31+n||x==62-n)))??????
printf("*");
else????
printf("?");
}
printf("\n");
}
}
#includestdio.h
#includemath.h
main(){
double y;
int x,m,i;
printf("y=sin(x) [0x2*pi]\n");
for(y=1;y=-1;y-=0.1){
if(y=0){
m=asin(y)*10;
for(x=1;xm;x++)printf(" ");
printf("*",m);
for(;x31-m;x++)printf(" ");
printf("*\n");}
else{
m=-1*asin(y)*10;
for(i=0;i32;i++)printf(" ");
for(x=1;xm;x++)printf(" ");
printf("*",m);
for(;x31-m;x++)printf(" ");
printf("*\n",m);
}
}
}
回答者: 依舊飄流 - 魔法師 五級
hehe
首先這個程序只能輸出這種 不像正弦 也不象余弦的曲線。
因為你的程序的算法是每行有2個星星
其次,15+45=60,約等于2*PI
就是說,前面的15是PI/2,后面的45是PI/2*3,
輸出的是1個周期的。sin(PI/2)=1。。這回懂了么?
1、首先,打開VS2019,并且創(chuàng)建一個C語言源文件,會看到如下的頁面。
2、鼠標在下圖紅色圈所示的區(qū)域單擊一下。
3、之后,再按Enter鍵,會看到新的一行。
4、在這一行中輸入:#includemath.h。
5、接著,在void main()中去定義一個單精度型變量。
6、定義完回車后,輸入a=sin(90);注意,90指的是90弧度。
7、再次回車,輸入printf("%f",a);。
8、可以按F5鍵去運行這段程序,會看到如下的結(jié)果。即90弧度的正弦值約為0.893997。
首先,你輸出的不是正弦圖像,而是反正弦圖像。
#includestdio.h
#includemath.h
int
main(){
double
y;
int
x,m,i;
printf("y=sin(x)
[0x2*pi]\n");
for(y=1;y=-1;y-=0.1){//表示y的取值范圍是[-1,1]
if(y=0){
m=asin(y)*10;
//反正弦函數(shù),確定空格的數(shù)量,最大值為15
for(x=1;xm;x++)printf("
");
//printf("*",m);
printf("*");//注意此時不換行,因為后面還有一個點
for(;x31-m;x++)printf("
");//輸出第二個點,并換行
printf("*\n");}
else{//同理輸出y小于0的點
m=-1*asin(y)*10;
for(i=0;i32;i++)printf("
");
for(x=1;xm;x++)printf("
");
//printf("*",m);
printf("*");
for(;x31-m;x++)printf("
");
printf("*\n",m);
}
}
getchar();
return
0;
}
本程序加了一個LCD1602,,,,你自己選擇使用哈
#includereg52.h //包含頭文件
#includeintrins.h
#define uchar unsigned char //宏定義
#define uint unsigned int
uchar i , j ,n,z; //定義全局變量
sbit RS=P2^0; //定義端口
sbit RW=P2^1;
sbit E =P2^2;
sbit k=P2^7;
sbit k1=P2^6;
uchar code str0[]={"Sine Wave "}; //定義LCD1602顯示字符數(shù)組
uchar code str1[]={"Triangle Wave"};
uchar code str2[]={"Square Wave "};
uchar code table[3][40]= //定義顯示波形的二維數(shù)組
{
0x80,0x94,0xa7,0xb9,0xca,0xd9,0xe7,0xf1,0xf8,0xfd,
0xff,0xfd,0xf8,0xf1,0xe7,0xd9,0xca,0xb9,0xa7,0x94,
0x80,0x6c,0x55,0x46,0x35,0x25,0x18,0x0e,0x06,0x02,
0x00,0x02,0x06,0x0e,0x18,0x25,0x35,0x46,0x55,0x6c,
0x80,0x8c,0x99,0xa6,0xb3,0xc0,0xcc,0xd9,0xe6,0xf2,
0xff,0xf2,0xe6,0xd9,0xcc,0xc0,0xb3,0xa6,0x99,0x8c,
0x80,0x73,0x66,0x5a,0x4d,0x40,0x33,0x26,0x1a,0x0d,
0x00,0x0d,0x1a,0x26,0x33,0x40,0x4d,0x5a,0x66,0x73,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
void delay(uint z) //延時程序
{
for(z;z0;z--)
{
}
}
void Write_command(uchar cmd) //LCD1602寫入命令程序
{
RS=0; //選擇指令寄存器
RW=0; //寫操作
E =1; //使能端
P1=cmd;
delay(1);
E =0;
delay(10); //延時 使LCD1602處于不忙狀態(tài)
}
void Write_data(uchar cmd) //LCD1602寫入數(shù)據(jù)命令
{
RS=1; //選擇數(shù)據(jù)寄存器
RW=0; //寫操作
E =1; //時能端
P1=cmd;
delay(1);
E=0;
delay(10); //延時 使LCD1602處于不忙狀態(tài)
}
void Lcd_init() //LCD1602初始化程序
{
Write_command(0x38); //設(shè)置16*2顯示 5*7點陣 8位數(shù)據(jù)接口
Write_command(0x0c); //LCD1602開顯示 ,不顯示光標
Write_command(0x06); //讀或?qū)懸蛔址笾羔樇右?,顯示不移動
Write_command(0x80+0x00); //數(shù)據(jù)指針地址設(shè)置
}
void Display() //LCD1602顯示英文程序
{
Lcd_init();
if (i==0)
{
for (n=0;n13;n++)
{
Write_data(str0[n]);
}
}
else if(i==1)
{
for(n=0;n13;n++)
{
Write_data(str1[n]);
}
}
else
{
for(n=0;n13;n++)
{
Write_data(str2[n]);
}
}
}
void main() //主函數(shù)
{
Display();
while(1)
{
for(j=0;j40;j++)
{
P0=table[i][j];
}
if(k==0) //開關(guān)程序
{
delay(1);
if(k==0);
{
if(k==0)
{
i++;
if (i==3) i=0;
Display();
}
}
while(k==0);
}
}
}