C语言循环心形代码
- 格式:docx
- 大小:11.29 KB
- 文档页数:5
【C语言】编程输出“小♥”的代码#include<stdio.h>#include<math.h>#include <windows.h>#define r 10#define R 172int main(){int i,j,e;int a;int n;FILE *fp;if((fp=fopen("LOVE.txt","w"))==NULL){printf("File open error!\n");exit(0);}for(i=1,a=r;i<r/2;i++,a--){for(j=(int) ( r-sqrt((r*r-(a-i)*(a-i))) );j>0;j--){printf(" ");fprintf(fp,"%s"," ");}for(e=1;e<=2*sqrt((r*r-(a-i)*(a-i)));e++){printf("\3");fprintf(fp,"%s"," * ");}for(j=(int) ( 2*( r-sqrt((r*r-(a-i)*(a-i)))) );j>0;j--){printf(" ");fprintf(fp,"%s"," ");}for(e=1;e<=2*sqrt( (r*r-(a-i)*(a-i)) );e++){printf("\3");fprintf(fp,"%s"," * ");}printf("\n");fprintf(fp,"%s","\n");}for(i=1;i<40;i++){if(i==6){printf("(∩_∩)YOU AND ME(∩_∩)");i+=24;}printf("\3");fprintf(fp,"%s"," * ");}printf("\n");for(i=1;i<=R/2;i++){if(i%2||i%3)continue;for(j=(int) ( R-sqrt( (double) (R*R-i*i) ) );j>0;j--){printf(" ");fprintf(fp,"%s"," ");}for(e=1;e<=2*( sqrt( (double)(R*R-i*i) ) - (R-2*r) );e++){printf("\3");fprintf(fp,"%s"," * " );}printf("\n");}printf("自动播放:按任意键,自己控制:按0\n");printf("按完后请按enter键\n");scanf("%d",&n);if(n==0){while(1){system("color a");system("pause");system("color b");system("pause");system("color c");system("pause");system("color d");system("pause");system("color e");system("pause");system("color f");system("pause");}}else{while(1){system("color a");Sleep(100);system("color b");Sleep(100);system("color c");Sleep(100);system("color d");Sleep(100);system("color e");Sleep(100);system("color f");Sleep(100);system("color 0");Sleep(100);}}return 0;}循环语句和颜色变换就不说了,发的小♥的代码。
c语言跳动爱心代码复制以下是一个简单的C语言代码,可以打印出一个跳动的爱心图案:c复制代码#include <stdio.h> #include <math.h> #include <windows.h> int main() { int x, y, i, j; float z, w; for (i = 15; i > -15; i--) { for (j = 15; j > -15; j--) { z = (i - 7.5f) * (i - 7.5f) + (j -7.5f) * (j - 7.5f) - 13 * 13; w = (i - 7.5f) *(i - 7.5f) + (j - 7.5f) * (j - 7.5f) - 12 * 12; if ((z <= 0 && z >= -0.001 && w <= 0.001) || (z >=0 && z <= 0.001 && w >= -0.001)) { printf("*");} else { printf(" "); } } printf("\n"); Sleep(100); // 控制爱心跳动速度 } return 0; }这段代码使用了两个嵌套的循环来遍历屏幕上的每个像素点,并根据一个数学公式判断该像素点是否应该打印一个星号。
通过控制循环的次数和每次循环之间的延迟时间,可以控制爱心图案的跳动速度。
#include <math.h> #include <windows.h> int ma in() { int x, y, i, j; float z, w; for (i = 15; i > -15; i--) { for (j = 15; j > -15; j--) { z = (i - 7.5f) * (i - 7.5f) + (j - 7.5f) * (j - 7.5f) - 13 * 13; w = (i - 7.5f) * (i - 7.5f) + (j - 7. 5f) * (j - 7.5f) - 12 * 12; if ((z <= 0 && z >= -0.001 && w <= 0.001) || (z >= 0 && z <= 0.001 && w >= -0.001)) { printf("*"); } else { printf(" "); } } printf("\n"); Sleep(100); // 控制爱心跳动速度 } return 0; }这段代码使用了两个嵌套的循环来遍历屏幕上的每个像素点,并根据一个数学公式判断该像素点是否应该打印一个星号。
c语言c++动态爱心表白代码以下是一个使用C++编写的动态爱心表白代码示例。
这个代码使用了Windows API中的MessageBox函数来显示爱心形状和表白文字。
```cpp#include <iostream>#include <windows.h>#include <math.h>// 定义爱心形状的坐标点const int LOVE_COORDINATES[] = {100, 100,150, 100,200, 150,250, 150,300, 100,250, 50,200, 100,150, 150,100, 100};void DrawLove(HDC hdc, int x, int y) {HPEN hPen = CreatePen(PS_SOLID, 1, RGB(255, 0, 0));SelectObject(hdc, hPen);for (int i = 0; i < 8; i++) {int tx = x + LOVE_COORDINATES[i * 2];int ty = y - LOVE_COORDINATES[i * 2 + 1];MoveToEx(hdc, tx, ty, NULL);int cx = tx + LOVE_COORDINATES[i * 2 + 1];int cy = ty - LOVE_COORDINATES[i * 2];LineTo(hdc, cx, cy);}DeleteObject(hPen);}void PrintMessage(HDC hdc, int x, int y, const TCHAR* message) { HFONT hFont = CreateFont(16, 0, 0, 0, FW_NORMAL, 0, 0, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, TEXT("宋体"));SelectObject(hdc, hFont);SetBkColor(hdc, RGB(255, 255, 255));SetTextColor(hdc, RGB(0, 0, 0));TextOut(hdc, x, y, message, _tcslen(message));DeleteObject(hFont);}int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {const TCHAR* message = TEXT("我爱你"));HDC hdc = GetDC(NULL);int screenWidth = GetSystemMetrics(SM_CXSCREEN);int screenHeight = GetSystemMetrics(SM_CYSCREEN);int loveX = (screenWidth - 300) / 2;int loveY = (screenHeight - 150) / 2;DrawLove(hdc, loveX, loveY);PrintMessage(hdc, loveX + 100, loveY + 50, message);MessageBox(NULL, message, TEXT("动态爱心表白"), MB_OK);ReleaseDC(NULL, hdc);return 0;}```编译和运行此代码后,你将看到一个带有红色爱心和表白文字的窗口。
c语言爱心代码C语言爱心代码一、实现一个爱心:1. 利用for循环输出50次换行符,使得爱心空出十六行空白行。
2. 使用for循环,以-1递减的累加变量,从50至15,每层循环中输出8个空格,让输出的爱心上下形状对称:for (i=50; i>=15; i--){for (j=0; j<=8; j++){printf(" ");}}3. 由于爱心的形状为左右对称,所以需要嵌套两层for循环,每层循环中输出的字符是不同的,第一层每轮输出" *",第二层每轮输出"**",利用循环变量的变换,从而达到输出爱心的效果:for (i=50; i>=15; i--){for (j=0; j<=8; (j+=2)){printf("*");}for (k=1; k<=8; (k+=2)){printf("**")}printf("\n");}二、具体实现:1.输入爱心头部,使用for循环一次输出5个星号:for (i=1; i<=5; i++){printf("*");}2. 输入爱心腿部,先使用for循环输出16行空格,再用for循环每次输出4个星号:for (i=1; i<=16; i++){printf("\n");for (j=1; j<=4; j++){printf("*");}}3. 输出爱心腰部,使用for循环每次输出一行,再用for循环每次输出3个星号:for (i=1; i<=7; i++){printf("\n");for (j=1; j<=5; j++){printf("*");}}4. 输出爱心末尾,使用for循环每次在末尾输出5个星号:for (i=1; i<=5; i++){printf("*");}三、示例:/* 爱心形状 */#include <stdio.h>int main(){int i, j, k;/* 输出爱心头部 */for (i=1; i<=5; i++) // 一次输出5个星号 {printf("*");}/* 输出爱心腿部 */for (i=1; i<=16; i++){printf("\n");for (j=1; j<=4; j++) // 输出4个星号{printf("*");}}/* 输出爱心腰部 */for (i=1; i<=7; i++){printf("\n");for (j=1; j<=5; j++) // 输出5个星号 {printf("*");}}/* 输出爱心末尾 */for (i=1; i<=5; i++){printf("*");}return 0;}。
【C语⾔】⽤C语⾔输出“⼼形”图案在你们的世界⾥,是不是觉得程序猿⼀点浪漫都不懂?其实不是的,程序猿的世界也是很浪漫滴!傻⽠版int main(){printf("❤");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; x<1.5f; x+=0.05f){a = x*x+y*y-1;//这⾥的@符号即为打印出的⼼形图案符号,可更改char ch = a*a*a-x*x*y*y*y<=0.0f?'@':' ';putchar(ch);//或者putchar(a*a*a-x*x*y*y*y<=0.0f?'*':' ');}printf("\n");}return 0;}//空⼼版#include <stdio.h>#include <math.h>// The first heart shape in hollow// (x^2+y^2-1)^3 - x^2*y^3 = 0// y ~ (-1.1 , 1.3 )// x ~ (-1.2 , 1.2 )int main() {for (float y = 1.3; y >= -1.1; y -= 0.06){for (float x = -1.2; x <= 1.2; x += 0.025){if (pow((x * x + y * y - 1.0), 3) - x * x * y * y * y <= 0.0) printf(" ");elseprintf("*");}printf("\n");}return 0;}//版本⼆:可⽤多个字符组成打印#include <stdio.h>int main(void){float f, x, y, z;for (y = 1.5f; y > -1.5f; y -= 0.1f){for (x = -1.5f; x < 1.5f; x += 0.05f){z = x * x + y * y - 1;f = z * z * z - x * x * y * y * y;putchar(f <= 0.0f ? "lihuan"[(int)(f * -8.0f)] : ' ');//这⾥的lihuan字符可更改成符号或其他字母,汉字不⾏,图案会变形 }printf("\n");}return 0;}//加颜⾊版#include <stdio.h>int main(int argc, char* argv[]){float f, x, y, z;for (y = 1.5f; y > -1.5f; y -= 0.1f){for (x = -1.5f; x < 1.5f; x += 0.05f){z = x * x + y * y - 1;f = z * z * z - x * x * y * y * y;// =================================== printf("\033[47m");char buf[100] = { "lihuan" };//这⾥的“lihuan”可以改为其他字符,注意,中⽂不⾏哦!if (f <= 0.0f){printf("\033[1;31m%c\033[0m", buf[(int)(f * -8.0f)]); }else{printf("%c", ' ');}printf("\033[0m");// ===================================== }printf("\n");}return 0;}加强版:#include <stdio.h>#include <math.h>float f(float x, float y, float z){float a = x*x + 9.0f/4.0f*y*y + z*z - 1;return a*a*a - x*x*z*z*z - 9.0f/80.0f*y*y*z*z*z;}float h(float x, float z){for (float y = 1.0f; y >= 0.0f; y -= 0.001f){if (f(x, y, z) <= 0.0f)return y;}return 0.0f;}int main(int argc, char *argv[]){for (float z = 1.5f; z > -1.5f; z -= 0.05f){for (float x = -1.5f; x < 1.5f; x += 0.025f){float v = f(x, 0.0f, z);if (v <= 0.0f){float y0 = h(x, z);float ny = 0.01f;float nx = h(x + ny, z) - y0;float nz = h(x, z + ny) - y0;float nd = 1.0f / sqrtf(nx*nx + ny*ny + nz*nz); float d = (nx + ny - nz)*nd*0.5f + 0.5f;putchar(".:-=+*#%@"[(int)(d * 5.0f)]);}elseputchar(' ');}putchar('\n');}}变形版:#include <stdio.h>int main(){int i, j, k, l, m;char c = '*'; //ASCII码⾥⾯ 3 就是⼀个字符⼩爱⼼for (i=1; i<=5; i++) printf("\n"); //开头空出5⾏for (i=1; i<=3; i++){ //前3⾏中间有空隙分开来写for (j=1; j<=32-2*i; j++)printf(" "); //左边的空格,每下⼀⾏左边的空格⽐上⼀⾏少2个 //8*n-2*i for (k=1; k<=4*i+1; k++)printf("%c", c);//输出左半部分字符⼩爱⼼for (l=1; l<=13-4*i; l++)printf(" "); //中间的空格,每下⼀⾏的空格⽐上⼀⾏少4个for (m=1; m<=4*i+1; m++)printf("%c", c);//输出右半部分字符⼩爱⼼printf("\n"); //每⼀⾏输出完毕换⾏}for (i=1; i<=3; i++){ //下3⾏中间没有空格for (j=1; j<=24+1; j++)printf(" "); //左边的空格 //8*(n-1)+1for (k=1; k<=29; k++)printf("%c", c);//输出字符⼩爱⼼printf("\n"); //每⼀⾏输出完毕换⾏}for (i=7; i>=1; i--){ //下7⾏for (j=1; j<=40-2*i; j++)printf(" "); //左边的空格,每下⼀⾏左边的空格⽐上⼀⾏少2个//8*(n+1)-2*i for (k=1; k<=4*i-1; k++)printf("%c", c);//每下⼀⾏的字符⼩爱⼼⽐上⼀⾏少4个(这个循环是i--)printf("\n"); //每⼀⾏输出完毕换⾏for (i=1; i<=39; i++)printf(" "); //最后⼀⾏左边的空格printf("%c\n", c); //最后⼀个字符⼩爱⼼for (i=1; i<=5; i++)printf("\n"); //最后空出5⾏return 0;}#include <stdio.h>#include <math.h>#define A 3void print(void){double x,y;for(y=-4;y<=0;y+=0.3){for(x=-4;x<=4;x+=0.2)if(fabs(sqrt(x*x+y*y)-A*sin(2*atan(y/x)))<=1 ||fabs(sqrt(x*x+y*y)-A*sin(2*atan(-y/x)))<=1) printf("*");else printf(" ");printf("\n");}for(y=-1;y<=0;y+=0.2){for(x=-4;x<=4;x+=0.2)if(fabs(y)-0.65*x*x>=0.2)printf("*");else printf(" ");printf("\n");}}int main(void){print();getchar();return 0;}算法链接:代码主要参考⽹址:。
#include<stdio.h>#include<math.h>#include <windows.h>#define r 10#define R 172int main(void){FILE *fp;int n;if((fp=fopen("LOVE.txt","w"))==NULL){printf("File open error!\n");exit(0);}int i,j,e;int a;for(i=1,a=r;i<r/2;i++,a--){for(j=(int) ( r-sqrt((r*r-(a-i)*(a-i))) );j>0;j--){printf(" ");fprintf(fp,"%s"," ");}for(e=1;e<=2*sqrt((r*r-(a-i)*(a-i)));e++){printf("\3");fprintf(fp,"%s"," * ");}for(j=(int) ( 2*( r-sqrt((r*r-(a-i)*(a-i)))) );j>0;j--){printf(" ");fprintf(fp,"%s"," ");}for(e=1;e<=2*sqrt( (r*r-(a-i)*(a-i)) );e++){printf("\3");fprintf(fp,"%s"," * ");}printf("\n");fprintf(fp,"%s","\n");}for(i=1;i<40;i++){if(i==6){printf("(∩_∩)I LOVE MY MOTHER(∩_∩)");i+=30;}printf("\3");fprintf(fp,"%s"," * ");}printf("\n");for(i=1;i<=R/2;i++){if(i%2||i%3)continue;for(j=(int) ( R-sqrt( (double) (R*R-i*i) ) );j>0;j--) {printf(" ");fprintf(fp,"%s"," ");}for(e=1;e<=2*( sqrt( (double)(R*R-i*i) ) - (R-2*r) );e++) {printf("\3");fprintf(fp,"%s"," * " );}printf("\n");}printf("请选着播放形式:\n自动播放:按 1 ,控制播放:按0\n"); printf("按完数字后请按enter键\n");scanf("%d",&n);if(n==0){while(1){system("color a");system("pause");system("color b");system("pause");system("color c");system("pause");system("color d");system("pause");system("color e");system("pause");system("color f");system("pause");}}else{while(1){system("color a");Sleep(100);system("color b");Sleep(100);system("color c");Sleep(100);system("color d");Sleep(100);system("color e");Sleep(100);system("color f");Sleep(100);system("color 0");Sleep(100);}}return 0;}。
c语言跳动爱心代码C语言作为一种广泛应用于计算机编程的语言,不仅可以实现各种功能,还可以用来表达情感。
今天,我想和大家分享一个特别的C语言代码——跳动爱心代码。
首先,我们需要了解一下C语言的基本语法和数据类型。
C语言是一种结构化的编程语言,它使用变量来存储和操作数据。
在C语言中,我们可以使用基本数据类型,如整型、浮点型和字符型,来定义变量。
此外,C语言还提供了一些控制结构,如条件语句和循环语句,来控制程序的执行流程。
接下来,让我们来编写跳动爱心代码。
首先,我们需要使用C语言的图形库来绘制爱心图案。
在C语言中,我们可以使用图形库函数来绘制各种图形。
这里,我们使用了一个简单的图形库函数来绘制一个爱心图案。
```c#include <stdio.h>#include <graphics.h>int main(){int gd = DETECT, gm;initgraph(&gd, &gm, "");int x = getmaxx() / 2;int y = getmaxy() / 2;for (int i = 0; i <= 300; i++){setcolor(i % 15 + 1);circle(x - i / 2, y - i / 2, i);circle(x + i / 2, y - i / 2, i);delay(10);cleardevice();}closegraph();return 0;}```在这段代码中,我们首先使用`initgraph`函数来初始化图形库。
然后,我们使用`getmaxx`和`getmaxy`函数来获取屏幕的宽度和高度,以便将爱心图案绘制在屏幕的中心位置。
接下来,我们使用一个循环来绘制跳动的爱心图案。
在每次循环中,我们使用`setcolor`函数来设置绘制图形的颜色,然后使用`circle`函数来绘制两个圆形,形成一个爱心图案。
爱心C语言程序示例在计算机编程领域,有许多经典的示例程序,其中之一就是使用C语言绘制爱心图案。
这个示例程序以其简单而美丽的设计引起了广泛的关注和喜爱。
让我们一起来探索这个具有艺术性的C语言程序示例,并深入了解其中的原理。
1.引言爱心图案是一种常见的形象,代表着爱与情感。
通过使用计算机程序来绘制爱心,我们可以展现出程序设计的魅力和创造力。
这个示例程序不仅仅是一段代码,更是艺术与科技的完美结合。
2.编写C语言代码下面是一个简单的C语言代码示例,用于绘制一个基本的爱心图案。
#include <stdio.h>int main() {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");return 0;}3.代码解析以上代码使用了C语言的printf函数来输出字符。
通过在控制台打印一系列字符,我们逐步组合出了爱心的形状。
在这个示例中,我们使用了星号来表示爱心的轮廓,并在合适的位置组合它们以实现良好的视觉效果。
4.执行结果当我们编译并执行这段代码时,控制台将显示出一个精心设计的爱心图案。
c语言代码玫瑰花和爱心的代码C语言是一门广泛应用的编程语言,在各种领域都具有广泛的应用。
无论是科技、制造还是娱乐,都离不开这门编程语言。
在编写C 语言代码时,除了实现实际功能外,还可以使用一些特殊的代码来构造自己的“玫瑰花和爱心”的图案。
在本文中,我们将探讨如何通过C 语言编写“玫瑰花和爱心”的代码。
一、玫瑰花的代码想象一下,你可以通过编写代码来产生一个美丽的玫瑰花,这是多么具有创意和实现感的事情啊!请看以下代码:#include <stdio.h>#include <math.h>#define PI 3.141592654int main(){double x, y, angle;for(y=1.5;y>-1.5;y-=0.1){for(x=-1.5;x<1.5;x+=0.05){angle = atan2(y,x);if (abs(angle-PI/2)<=0.15)//一行之间的角度间隔应该小于 PI/6,即 0.15,否则出现间断putchar('*');elseputchar(' ');}putchar('\n');}return 0;}代码中定义的x,y表示坐标系中的x轴、y轴坐标,angle表示该点与原点之间的倾斜角度。
然后通过双重循环来生成整个图形,内循环控制x轴坐标,外循环控制y轴坐标。
当标记出的角度周围小于0.15时,输出“*”,否则输出空格。
二、爱心的代码由于爱心是一个具有特殊形状的图案,因此编写码来产生它会更加有挑战性。
以下是一个C语言代码,可以画出一个有形的爱心:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>void heart(int**p, int o){int i, j, x, y;for (i = 0; i <= 180; i++){for (j = 0; j <= 180; j++){x = j - 90; y = i - 90;if (x*x + y * y <= 8100 && x*x + y * y >= 8100 - 180 * abs(sin(PI*x / 180)*sin(PI*x / 180)*sin(PI*x / 180))) p[o + y][o + x] = 1;}}}void run(int **p, int w, int h){int i, j;for (i = 0; i < h; i++){for (j = 0; j < w; j++)putchar(p[i][j] ? '*' : ' ');//'*'表示两个字符之间用星号分隔,输出图形putchar('\n');//输出回车符以结束该行的绘制}}int main(){int **p, i, j;p = (int**)malloc(200*sizeof(int*));for (i = 0; i < 200; i++)p[i] = (int*)malloc(200*sizeof(int));memset(p[0], 0, 200*200*sizeof(int));heart(p, 10);//执行绘制爱心函数run(p, 200, 200);for (i = 0; i < 200; i++)free(p[i]);free(p);return 0;}该代码使用malloc(动态内存分配)函数来定义二维数组,写入一个函数来生成爱心。