最簡單的就是你用printf來實現
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:申請域名、虛擬空間、營銷軟件、網站建設、鳳泉網站維護、網站推廣。
或者你要用函數來畫心就很麻煩了
比如
#includestdio.h
void?main()
{
printf("*?????????????????*");
printf("*???????????????*");
printf("*?????????????*");
printf("*???????????*");
printf("*?????????*");
printf("*????????*");
}
就這種樣子,自己布局吧,如果想用畫圖函數,要么在tc環境下,要么在vc下獲取控制臺句柄,調用api,然后寫一個畫心形的函數
給你一個我早寫的作參考——
#include?stdio.h
int?main(int?argc,char?*argv[]){
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);
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θ),有多種變化的情形,如:
看起來心形效果更好的一種方式用直角坐標表示是:
程序的截圖看不清具體細節,估計是按照這個公式做的計算:
對給定的一組(x,y)做循環,按如上公式計算:
a = x*x + y*y -1;
f = a*a*a - x*x*y*y*y;
如果f0,代表(x,y)在心形內,顯示一個標記;
如果f0,代表(x,y)在心形外,顯示空白,或者不顯示。
個人認為還行,7以上效果較好,不知道你要空心的還是實心的,都附上吧(百度知道好像把兩個空格的位置上傳后變成了一個空格,你自己要改一下,輸出位置為一個空格的全部改成兩個,其他的不用改):
實心的:
#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;
}
空心的:
#includestdio.h
int n;
void draw(int n)
{
int i,j;
for (i=1-(n1);i=n;i++)
if (i0)
{
for (j=0;ji;j++) printf(" ");
for (j=1;j=2*(n-i)+1;j++)
if (j==1||j==2*(n-i)+1) printf(" *");
else printf(" ");
printf("\n");
}
else
if (i==0)
{
printf(" *");
for (j=1;jn;j++) printf(" ");
printf(" *");
for (j=1;jn;j++) printf(" ");
printf(" *\n");
}
else
{
for (j=i;j0;j++) printf(" ");
for (j=1;j=n+2*i+1;j++)
if (i==1-(n1)) printf(" *");
else if (j==1||j==n+2*i+1) printf(" *");
else printf(" ");
for (j=1;j=-1-2*i;j++) printf(" ");
for (j=1;j=n+2*i+1;j++)
if (i==1-(n1)) printf(" *");
else if (j==1||j==n+2*i+1) printf(" *");
else printf(" ");
printf("\n");
}
}
int main()
{
printf("Please input the size (n=4):");
scanf("%d",n);
draw(n);
return 0;
}
#include stdio.h
int main(void)
{
float a,x,y;
for(y=1.5f; y-1.5f; y-=0.1f)
{
for(x=-1.5f; x1.5f; x+=0.05f)
{
a = x*x+y*y-1;
char ch = a*a*a-x*x*y*y*y=0.0f?'*':' ';
putchar(ch);
}
printf("\n");
}
return 0;
}
擴展資料:
書寫規則
1、一個說明或一個語句占一行。
2、用{} 括起來的部分,通常表示了程序的某一層次結構。{}一般與該結構語句的第一個字母對齊,并單獨占一行。
3、低一層次的語句或說明可比高一層次的語句或說明縮進若干格后書寫。以便看起來更加清晰,增加程序的可讀性。在編程時應力求遵循這些規則,以養成良好的編程風格。
參考資料:
百度百科-c語言
創建一個心形圖案需要的最長字符串,充分利用printf函數輸出字符串的豐富控制功能,按心形圖案每行所需長度和位置,對所創建的字符串進行截斷并在所需位置上輸出,最后在屏幕上形成由字符組成的心形圖案。
//#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的前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語言庫函數畫愛心,c語言畫愛心代碼方程
標題鏈接:http://vcdvsql.cn/article26/hshpjg.html
成都網站建設公司_創新互聯,為您提供企業網站制作、網站收錄、品牌網站設計、做網站、、自適應網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯