用C語言編寫心形的方法:
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計、鳳慶網(wǎng)絡(luò)推廣、重慶小程序開發(fā)、鳳慶網(wǎng)絡(luò)營銷、鳳慶企業(yè)策劃、鳳慶品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供鳳慶建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
#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程序是由一組變量或是函數(shù)的外部對象組成的。 函數(shù)是一個自我包含的完成一定相關(guān)功能的執(zhí)行代碼段。我們可以把函數(shù)看成一個“黑盒子”,你只要將數(shù)據(jù)送進去就能得到結(jié)果,而函數(shù)內(nèi)部究竟是如何工作的,外部程序是不知道的。
外部程序所知道的僅限于輸入給函數(shù)什么以及函數(shù)輸出什么。函數(shù)提供了編制程序的手段,使之容易讀、寫、理解、排除錯誤、修改和維護。
參考資料:百度百科--c語音
用方程的話肯定輸出不會和你的圖完全一致
心形線方程如圖
用上面行第二個比較簡單,程序如下
#include?stdio.h
bool?draw(float?x,?float?y)
{
float?a?=?x?*?x?+?y?*?y?-?1.0;
float?b?=?x?*?x?*?y?*?y?*?y;
return?a?*?a?*?a?-?b?=?0;
}
int?main(int?argc,?char*?argv[])
{
for?(float?y?=?1.5;?y?=?-1.5;?y?-=?0.1)
{
for?(float?x?=?-1.2;?x?=?1.2;?x?+=?0.05)
{
if?(draw(x,?y))
{
bool?left?=?draw(x?-?0.05,?y);
bool?right?=?draw(x?+?0.05,?y);
bool?up?=?draw(x,?y?+?0.1);
bool?down?=?draw(x,?y?-?0.1);
if?(left??right??up??down)
printf("?");
else
printf("*");
}
else
printf("?");
}
printf("\n");
}
return?0;
}
draw函數(shù)是判斷(x,y)坐標(biāo)是否在心形范圍內(nèi)
主函數(shù)循環(huán),y取值±1.5之間,步長0.1,x取值±1.2之間,步長0.05
如果(x,y)坐標(biāo)在心形范圍外打印空格
如果(x,y)坐標(biāo)在心形范圍內(nèi),由于這個心是空心的,要繼續(xù)判斷是不是心形邊緣,判斷周圍4個點坐標(biāo),如果都在范圍內(nèi),表示(x,y)坐標(biāo)不會是邊緣,打印空格,否則是邊緣,打印星號
最終結(jié)果如圖
#include?stdio.h
void?heart()?{
printf("????????**???????????**????????\n");
printf("????*???????*?????*???????*????\n");
printf("??*????????????*????????????*??\n");
printf("?*???????????????????????????*?\n");
printf("?*???????????????????????????*?\n");
printf("?*???????????????????????????*?\n");
printf("?*???????????????????????????*?\n");
printf("??*?????????????????????????*??\n");
printf("???*???????????????????????*???\n");
printf("????*?????????????????????*????\n");
printf("??????*?????????????????*??????\n");
printf("????????*?????????????*????????\n");
printf("??????????*?????????*??????????\n");
printf("?????????????*???*?????????????\n");
printf("???????????????*???????????????\n");
}
int?main()?{
heart();
return?0;???
}