創(chuàng)建一個心形圖案需要的最長字符串,充分利用printf函數(shù)輸出字符串的豐富控制功能,按心形圖案每行所需長度和位置,對所創(chuàng)建的字符串進行截斷并在所需位置上輸出,最后在屏幕上形成由字符組成的心形圖案。
專注于為中小企業(yè)提供網(wǎng)站設計、成都網(wǎng)站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)岳麓免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了成百上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。
//#include?"stdafx.h"http://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(chǎn)的前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;
}
原始的心形線的極坐標方程為:r=a(1-cosθ),有多種變化的情形,如:
看起來心形效果更好的一種方式用直角坐標表示是:
程序的截圖看不清具體細節(jié),估計是按照這個公式做的計算:
對給定的一組(x,y)做循環(huán),按如上公式計算:
a = x*x + y*y -1;
f = a*a*a - x*x*y*y*y;
如果f0,代表(x,y)在心形內,顯示一個標記;
如果f0,代表(x,y)在心形外,顯示空白,或者不顯示。
最簡單的就是你用printf來實現(xiàn)
或者你要用函數(shù)來畫心就很麻煩了
比如
#includestdio.h
void?main()
{
printf("*?????????????????*");
printf("*???????????????*");
printf("*?????????????*");
printf("*???????????*");
printf("*?????????*");
printf("*????????*");
}
就這種樣子,自己布局吧,如果想用畫圖函數(shù),要么在tc環(huán)境下,要么在vc下獲取控制臺句柄,調用api,然后寫一個畫心形的函數(shù)