这段程序为什么运行出来不是余弦图像?怎么看图

C语言 码拜 8年前 (2017-04-15) 978次浏览
#include<stdio.h>
#include<math.h>
int main()
{double y;
int x,m;
for(y=1;y>=-1;y-=0.1)
{
m=acos(y);
for(x=1;x<m;x++)printf(” “);
printf(“*”);
for(;x<62-m;x++)printf(” “);
printf(“*”);
}
return 0;
}
解决方案

20

在main函数最后加上getchar();

#include<stdio.h>
#include<math.h>
int main()
{
	double y;
	int x,m;
	for(y=1;y>=-1;y-=0.1)
	{
		m=acos(y);
		for(x=1;x<m;x++)printf(" ");
		printf("*");
		for(;x<62-m;x++)printf(" ");
		printf("*");
	}
	getchar();
	return 0;
} 

2

#include<stdio.h>
#include<math.h>
int main()
{
    double y;
    int x,m;
    for(y=1;y>=-1;y-=0.1)
    {
        m=acos(y)*10;
        for(x=1;x<m;x++)printf(" ");
        printf("*");
        for(;x<62-m;x++)printf(" ");
        printf("*\n");
    }
    getchar();
    return 0;
}

40

1.acos返回的是 0 至 π 之间的计算结果,需要乘10才行
2.而且每打印一行(一次大的for循环),你也需要\n来换行

8

原因是你的控制台一般是80列25行,而你的曲线超过了80列所以自动换行到下一行了引起排版混乱。
假如要绘制函数曲线,需要更改屏幕显示模式的。35×80的显示模式基本不能绘制复杂曲线

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明这段程序为什么运行出来不是余弦图像?怎么看图
喜欢 (0)
[1034331897@qq.com]
分享 (0)