#include<stdio.h>
#include<math.h>
#define pi 3.141596
void main()
{
/*double x,y;
double i,yy;
for(i=1;i<80;i++)
if(i==40)
printf("*");
else
printf("-");
printf("/n");
for(x=10.0;x<=360.0;x+=10)
{
y=40+30*sin(x*pi/180.0);
yy=40>y?40:y; //三目运算
for(i=1;i<=yy;i++)
{
if(i==(int)y) //要用强制转换,因为这里的i必须是整形的
printf("*");
else if(i==40)
printf("|");
else
printf(" ");
}
printf("/n");
//printf("%lf",y);
}
}*/
上面的程序是书上的答案,下面的是我自己写的,但是问题就在第一行的赋值,如果赋值就会是正弦图形
如果不赋值就是余弦函数图,跪求解决方案
int i,j,k,n,l; //k赋值10和不赋值的图形是相反的 不赋值的初值是多少?
for(i=1;i<80;i++)
if(i==40)
printf("*");
else
printf("-");
printf("/n");
for(n=0;n<36;n++)
{
j=40+30*sin(k*pi/180);
k=k+10;
l=40>j?40:j;
for(i=1;i<=l;i++)
{
if(i==j) //最先考虑的条件
printf("*");
else if(i==40)
printf("|");
else
printf(" ");
}
printf("/n");
}
}