第三道 C语言实习题 (更更急)

来源:百度知道 编辑:UC知道 时间:2024/05/30 11:29:58
要求:在屏幕上用“*”画一个空心的圆
提示:可利用图形的左右对称性。根据圆的方程:R*R=X*X+Y*Y可以算出圆上每一点行和列的对应关系.
感谢刚刚回答问题的强人们.谢谢
能不能认识认识您,我刚上大学,刚接触C/C++,有很多不懂得地方,能不能当我的老师,谢谢了.愿意的话留下QQ,我QQ是664794146

修改了.. 这个程序要全屏 alt+回车
#include <stdio.h>
#include <ctype.h>
#include <math.h>
void main()
{ int r,x,y;
double m;
clrscr();
printf("Please enter your circlr r\n") ;
scanf("%d",&r);
clrscr();
for(y=r;y>=-r;y--)
{
m=2.5*sqrt(r*r-y*y); /*计算行y对应的列坐标m,2.5是屏幕纵横比调节系数因为屏幕的
行距大于列距,不进行调节显示出来的将是椭圆*/
for(x=1;x<30-m;x++) printf(" "); /*图形左侧空白控制*/
printf("*"); /*圆的左侧*/
for(;x<30+m;x++) printf(" "); /*图形的空心部分控制*/
printf("*\n"); /*圆的右侧*/
}
getch(); /*这种对应是全屏的,用ALT+ENTER键看图,不然还是椭圆*/
}

我也是刚学完c++,现在放假在家才有时间上网
回了学校没电脑上不了了,不过有问题可以发邮件给我lartely@163.com