#include "graphics.h"
创新互联公司长期为上1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为加格达奇企业提供专业的网站制作、网站设计,加格达奇网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。
#include stdio.h
#include conio.h
#include math.h
void main()
{
int GD,GM;
int i,a=150,x,y;
float p;
GD=DETECT;
initgraph(GD,GM,"");
setfillstyle(SOLID_FILL,WHITE);
bar(0,0,639,479);
setcolor(BLACK);
for(i=0;i450;i=i+10)
outtextxy(20,i,"*");
for(i=0;i620;i=i+10)
outtextxy(i,50,"*");
setcolor(RED);
for(i=0;i360;i=i+2)
{
p=a*(1-sin(i*2*3.14159/360));
x=320+p*cos(i*2*3.14159/360);
y=120-p*sin(i*2*3.14159/360);
outtextxy(x,y,"*");
}
getch();
closegraph();
}
原始的心形线的极坐标方程为:r=a(1-cosθ),有多种变化的情形,如:
看起来心形效果更好的一种方式用直角坐标表示是:
程序的截图看不清具体细节,估计是按照这个公式做的计算:
对给定的一组(x,y)做循环,按如上公式计算:
a = x*x + y*y -1;
f = a*a*a - x*x*y*y*y;
如果f0,代表(x,y)在心形内,显示一个标记;
如果f0,代表(x,y)在心形外,显示空白,或者不显示。
修改后的C语言程序:
#include stdio.h
void triangle(int g)
{
int n=1, m; /* 修改处1 */
for(n;n=g; n++)
{
for(m=1;m=2*n-1;m++) /* 修改处2 */
putchar('*');
putchar('\n');
}
}
void rectangle(int g)
{
int n=1, m; /* 修改处3 */
for(n;n=g;n++)
{
for(m=1;m=3;m++) /* 修改处4 */
putchar('*');
putchar('\n');
}
}
int main()
{
int i,k;
printf("请输入行数(大于3):");
scanf("%d",i);
printf("请选择图形:1---三角形 \t2---矩形\t3---小旗 :");
scanf("%d",k);
if(k==1)
{
triangle(i);
}
if(k==2)
{
rectangle(i);
}
if(k==3)
{
triangle(i);
rectangle(i);
}
return 0;
}
创建一个心形图案需要的最长字符串,充分利用printf函数输出字符串的丰富控制功能,按心形图案每行所需长度和位置,对所创建的字符串进行截断并在所需位置上输出,最后在屏幕上形成由字符组成的心形图案。
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
char a[]="I love you I love you I love you I l";
printf("\n\n\n");
printf("%*.*s\n",58,21,"_*=_ _=*_");
printf("%*.*s\n",61,25,"I love yo u I love!");
printf("%*.*s\n",63,29,"I love you I l ove you I love");
printf("%*.*s\n",65,33,a);//在屏幕第65个字符处开始输出字符串a的前33个字符,其他各句意义相同
printf("%*.*s\n",66,35,a);
printf("%*.*s\n",66,35,a);
printf("%*.*s\n",65,33,a);
printf("%*.*s\n",64,31,a);
printf("%*.*s\n",63,29,a);
printf("%*.*s\n",61,25,a);
printf("%*.*s\n",59,21,a);
printf("%*.*s\n",57,17,a);
printf("%*.*s\n",55,13,a);
printf("%*.*s\n",53,9,a);
printf("%*.*s\n",51,5,a);
printf("%*.*s\n",50,3,a);
printf("%*.*s\n",49,1,a);
return 0;
}
用C语言编写心形的方法:
#includestdio.h
int n;
void draw(int n)
{
int i,j;
for (i=1-(n1);i=n;i++)
if (i=0)
{
for (j=0;ji;j++) printf(" ");
for (j=1;j=2*(n-i)+1;j++) printf(" *");
printf("\n");
}
else
{
for (j=i;j0;j++) printf(" ");
for (j=1;j=n+2*i+1;j++) printf(" *");
for (j=1;j=-1-2*i;j++) printf(" ");
for (j=1;j=n+2*i+1;j++) printf(" *");
printf("\n");
}
}
int main()
{
printf("Please input the size (n=4):");
scanf("%d",n);
draw(n);
return 0;
}
扩展资料
C程序是由一组变量或是函数的外部对象组成的。 函数是一个自我包含的完成一定相关功能的执行代码段。我们可以把函数看成一个“黑盒子”,你只要将数据送进去就能得到结果,而函数内部究竟是如何工作的,外部程序是不知道的。
外部程序所知道的仅限于输入给函数什么以及函数输出什么。函数提供了编制程序的手段,使之容易读、写、理解、排除错误、修改和维护。
参考资料:百度百科--c语音
最简单的就是你用printf来实现
或者你要用函数来画心就很麻烦了
比如
#includestdio.h
void main()
{
printf("* *");
printf("* *");
printf("* *");
printf("* *");
printf("* *");
printf("* *");
}
就这种样子,自己布局吧,如果想用画图函数,要么在tc环境下,要么在vc下获取控制台句柄,调用api,然后写一个画心形的函数