表白程序C

合集下载

520表白程序(C++)

520表白程序(C++)

菜鸟奉献你一个520表白神器爱情总是那么神圣,烂漫,每个人都会有无限的向往,即便是程序员(自我笑下),忽然我想起周星驰的那些话“曾经有一段爱情摆在我面前。

我希望是一万年”,于是我试着做了表白程序。

实现原理:原理比较的简单,主要是运用windows API来实现,程序初步实现的功能是显示文字,图像,歌曲(重复),燃放烟花(循环),程序的实现过程大概可以描述为烟花燃放的一个过程(初始化,上升,爆炸,循环),具体实现方法不再复述了,代码比较简单。

工具:VS2013 Eaxy(冬至版)[使用TC库,不是VC库,用Eaxy]主要代码:#include "graphics.h"#include <conio.h>#include <math.h>#include <time.h>#include <stdio.h>#include <Mmsystem.h>#pragma comment ( lib, "Winmm.lib" )/***** 宏定义区******/#define NUM13// 烟花种类数量宏定义/***** 结构定义区**********/// 烟花结构struct FIRE{int r;// 当前爆炸半径int max_r;// 爆炸中心距离边缘最大半径int x, y;// 爆炸中心在窗口的坐标int cen_x, cen_y;// 爆炸中心相对图片左上角的坐标int width, height;// 图片的宽高int xy[240][240];// 储存图片像素点bool show;// 是否绽放bool draw;// 开始输出像素点DWORD t1, t2, dt;// 绽放速度}Fire[NUM];// 烟花弹结构struct JET{int x, y;// 喷射点坐标int hx, hy;// 最高点坐标------将赋值给FIRE 里面的x, y int height;// 烟花高度bool shoot;// 是否可以发射DWORD t1, t2, dt;// 发射速度IMAGE img[2];// 储存花弹一亮一暗图片byte n : 1;// 图片下标}Jet[NUM];/**** 函数申明区****/void Init(int);// 初始化烟花void Load();// 加载烟花图片void Shoot();// 发射烟花void Chose(DWORD&);// 筛选烟花void Style(DWORD&);// 发射样式void Show(DWORD*);// 绽放烟花// 主函数void main(){initgraph(1200, 800);srand(time(0));// 播放背景音乐mciSendString("open ./fire/bk.mp3 alias bk", 0, 0, 0);mciSendString("play bk repeat", 0, 0, 0);//setfillstyle(0);settextstyle(50, 0, "楷体");setcolor(YELLOW);outtextxy(480, 100, "My Dear");outtextxy(400, 200, "愿你悲伤有人分担!");outtextxy(400, 280, "愿你孤独有人陪伴!");getchar();cleardevice();settextstyle(25, 0, "楷体");outtextxy(400, 250, "曾经");outtextxy(400, 300, "有一份真挚的爱情摆在我的面前");outtextxy(400, 350, "我没有珍惜");outtextxy(400, 400, "直到失去了才后悔莫及");outtextxy(400, 450, "世间最痛苦的事情莫过于此");outtextxy(400, 500, "如果上天能给我一个在来一次的机会"); outtextxy(400, 550, "我会对那个女孩说");outtextxy(400, 600, "我爱你,一万年");outtextxy(700, 660, "——谢新明");getchar();DWORD t1 = timeGetTime();// 筛选烟花计时DWORD st1 = timeGetTime();// 播放花样计时DWORD* pMem = GetImageBuffer();// 获取窗口显存指针for (int i = 0; i < NUM; i++)// 初始化烟花{Init(i);}Load();// 将烟花图片信息加载进相应结构中BeginBatchDraw();// 开始批量绘图while (!kbhit()){Sleep(10);// 随机选择4000 个像素点擦除for (int clr = 0; clr < 1000; clr++){for (int j = 0; j < 2; j++){int px1 = rand() % 1200;int py1 = rand() % 800;if (py1 < 799)// 防止越界pMem[py1 * 1200 + px1] = pMem[py1 * 1200 + px1 + 1] = BLACK;// 对显存赋值擦出像素点}}Chose(t1);// 筛选烟花Shoot();// 发射烟花Show(pMem);// 绽放烟花Style(st1);// 花样发射FlushBatchDraw();// 显示前面的所有绘图操作}}// 初始化烟花参数void Init(int i){// 分别为:烟花中心到图片边缘的最远距离、烟花中心到图片左上角的距离(x、y) 两个分量int r[13] = { 120, 120, 155, 123, 130, 147, 138, 138, 130, 135, 140, 132, 155 };int x[13] = { 120, 120, 110, 117, 110, 93, 102, 102, 110, 105, 100, 108, 110 };int y[13] = { 120, 120, 85, 118, 120, 103, 105, 110, 110, 120, 120, 104, 85 };/**** 初始化烟花*****/Fire[i].x = 0;// 烟花中心坐标Fire[i].y = 0;Fire[i].width = 240;// 图片宽Fire[i].height = 240;// 图片高Fire[i].max_r = r[i];// 最大半径Fire[i].cen_x = x[i];// 中心距左上角距离Fire[i].cen_y = y[i];Fire[i].show = false;// 是否绽放Fire[i].dt = 5;// 绽放时间间隔Fire[i].t1 = timeGetTime();Fire[i].r = 0;// 从0 开始绽放/**** 初始化烟花弹*****/Jet[i].x = -240;// 烟花弹左上角坐标Jet[i].y = -240;Jet[i].hx = -240;// 烟花弹发射最高点坐标Jet[i].hy = -240;Jet[i].height = 0;// 发射高度Jet[i].t1 = timeGetTime();Jet[i].dt = rand() % 10;// 发射速度时间间隔Jet[i].n = 0;// 烟花弹闪烁图片下标Jet[i].shoot = false;// 是否发射// 加载图片void Load(){/**** 储存烟花的像素点颜色****/IMAGE fm, gm;loadimage(&fm, "./fire/flower.jpg", 3120, 240);for (int i = 0; i < 13; i++){SetWorkingImage(&fm);getimage(&gm, i * 240, 0, 240, 240);SetWorkingImage(&gm);for (int a = 0; a < 240; a++)for (int b = 0; b < 240; b++)Fire[i].xy[a][b] = getpixel(a, b);}/**** 加载烟花弹************/IMAGE sm;loadimage(&sm, "./fire/shoot.jpg", 200, 50);for (int i = 0; i < 13; i++){SetWorkingImage(&sm);int n = rand() % 5;getimage(&Jet[i].img[0], n * 20, 0, 20, 50);// 暗getimage(&Jet[i].img[1], (n + 5) * 20, 0, 20, 50);// 亮}SetWorkingImage();// 设置回绘图窗口}// 在一定范围内筛选可发射的烟花,并初始化发射参数,输出烟花弹到屏幕,播放声音void Chose(DWORD& t1){DWORD t2 = timeGetTime();if (t2 - t1 > 100){int n = rand() % 20;if (n < 13 && Jet[n].shoot == false && Fire[n].show == false){/**** 重置烟花弹,预备发射*****/Jet[n].x = rand() % 1200;Jet[n].y = rand() % 100 + 600;Jet[n].hx = Jet[n].x;Jet[n].hy = rand() % 400;Jet[n].height = Jet[n].y - Jet[n].hy;Jet[n].shoot = true;putimage(Jet[n].x, Jet[n].y, &Jet[n].img[Jet[n].n], SRCINVERT);/**** 播放每个烟花弹的声音*****/char c1[50], c2[30], c3[30];sprintf(c1, "open ./fire/shoot.mp3 alias s%d", n);sprintf(c2, "play s%d", n);sprintf(c3, "close n%d", n);mciSendString(c3, 0, 0, 0);mciSendString(c1, 0, 0, 0);mciSendString(c2, 0, 0, 0);}t1 = t2;}}// 扫描烟花弹并发射void Shoot(){for (int i = 0; i < 13; i++){Jet[i].t2 = timeGetTime();if (Jet[i].t2 - Jet[i].t1 > Jet[i].dt && Jet[i].shoot == true){/**** 烟花弹的上升*****/putimage(Jet[i].x, Jet[i].y, &Jet[i].img[Jet[i].n], SRCINVERT);if (Jet[i].y > Jet[i].hy){Jet[i].n++;Jet[i].y -= 5;}putimage(Jet[i].x, Jet[i].y, &Jet[i].img[Jet[i].n], SRCINVERT);/**** 上升到高度的3 / 4,减速*****/if ((Jet[i].y - Jet[i].hy) * 4 < Jet[i].height)Jet[i].dt = rand() % 4 + 10;/**** 上升到最大高度*****/if (Jet[i].y <= Jet[i].hy){// 播放爆炸声char c1[50], c2[30], c3[30];sprintf(c1, "open ./fire/bomb.wav alias n%d", i);sprintf(c2, "play n%d", i);sprintf(c3, "close s%d", i);mciSendString(c3, 0, 0, 0);mciSendString(c1, 0, 0, 0);mciSendString(c2, 0, 0, 0);putimage(Jet[i].x, Jet[i].y, &Jet[i].img[Jet[i].n], SRCINVERT);// 擦掉烟花弹Fire[i].x = Jet[i].hx + 10;// 在烟花弹中间爆炸Fire[i].y = Jet[i].hy;// 在最高点绽放Fire[i].show = true;// 开始绽放Jet[i].shoot = false;// 停止发射}Jet[i].t1 = Jet[i].t2;}}}// 显示花样void Style(DWORD& st1){DWORD st2 = timeGetTime();if (st2 - st1 > 20000)// 一首歌的时间{// 心形坐标int x[13] = { 60, 75, 91, 100, 95, 75, 60, 45, 25, 15, 25, 41, 60 };int y[13] = { 65, 53, 40, 22, 5, 4, 20, 4, 5, 22, 40, 53, 65 };for (int i = 0; i < NUM; i++){//cleardevice();/**** 规律分布烟花弹***/Jet[i].x = x[i] * 10;Jet[i].y = (y[i] + 75) * 10;Jet[i].hx = Jet[i].x;Jet[i].hy = y[i] * 10;Jet[i].height = Jet[i].y - Jet[i].hy;Jet[i].shoot = true;Jet[i].dt = 7;putimage(Jet[i].x, Jet[i].y, &Jet[i].img[Jet[i].n], SRCINVERT);// 显示烟花弹/**** 设置烟花参数***/Fire[i].x = Jet[i].x + 10;Fire[i].y = Jet[i].hy;Fire[i].show = false;Fire[i].r = 0;/**** 播放发射声音***/char c1[50], c2[30], c3[30];sprintf(c1, "open ./fire/shoot.mp3 alias s%d", i);sprintf(c2, "play s%d", i);sprintf(c3, "close n%d", i);mciSendString(c3, 0, 0, 0);mciSendString(c1, 0, 0, 0);mciSendString(c2, 0, 0, 0);}st1 = st2;}}// 绽放烟花void Show(DWORD* pMem){// 烟花个阶段绽放时间间隔,制作变速绽放效果int drt[16] = { 5, 5, 5, 5, 5, 6, 25, 25, 25, 25, 55, 55, 55, 55, 55 };for (int i = 0; i < NUM; i++){Fire[i].t2 = timeGetTime();// 增加爆炸半径,绽放烟花,增加时间间隔做变速效果if (Fire[i].t2 - Fire[i].t1 > Fire[i].dt && Fire[i].show == true){if (Fire[i].r < Fire[i].max_r){Fire[i].r++;Fire[i].dt = drt[Fire[i].r / 10];Fire[i].draw = true;}if (Fire[i].r >= Fire[i].max_r - 1){Fire[i].draw = false;Init(i);}Fire[i].t1 = Fire[i].t2;}// 如果该号炮花可爆炸,根据当前爆炸半径画烟花,颜色值接近黑色的不输出。

c语言表白代码

c语言表白代码

C语言表白代码简介在这个数字化的时代,人们常常通过各种方式表达自己的爱意,而编程作为一种创造力的表达方式,也能够用来传达情感。

C语言作为一门广泛应用于系统编程和底层开发的高效语言,也可以被用来写出一段特殊的代码,来表达对某个人的爱意。

这个任务就是让我们编写一段”C语言表白代码”,让计算机为我们传递爱情的信息。

代码实现下面是一段用C语言写的表白代码:#include<stdio.h>int main() {printf("亲爱的,我想对你说:\n");printf("I love you!\n");printf("我愿意和你\n");printf("一起写下人生的代码\n");printf("无论是快乐的时光\n");printf("还是困难的挑战\n");printf("只要我们携手同行\n");printf("就能够克服一切\n");printf("你是我生命中的光芒\n");printf("有了你\n");printf("世界变得更加美好\n");printf("爱你永远!\n");return 0;}代码解析1.首先,我们使用#include<stdio.h>来导入标准输入输出库,这样我们就能够使用printf函数来输出信息到控制台。

2.在main函数中,我们使用printf函数分多次输出表白的内容。

我们首先使用\n来进行换行,使得输出更加美观。

3.在第2行代码中,我们输出了一个固定的文字:“亲爱的,我想对你说:”。

这是对被表白者的称呼,然后表示接下来要向TA表达爱意。

4.在第3行代码中,我们使用printf函数输出了一句表白的话:“I loveyou!”。

表白八法趣讲C语言顺序程序设计

表白八法趣讲C语言顺序程序设计

表白八法趣讲C语言顺序程序设计在日常生活的方方面面,我们时常会遇到让自己心动的人。

如何表白自己的心意?怎样追求属于自己的爱情?本文将通过C语言顺序程序设计的角度,为大家解析表白的八种方法,让大家在追求爱情的过程中更加勇敢和自信。

void confession_1() {printf("你知道吗,我发现了一种治愈失眠的方法。

就是躺在你心里。

");void confession_2() {printf("我一直在寻找世界上最美丽的微笑,看来,我已经找到了。

");void confession_3() {printf("你是我心中的一首诗,我想你,每一行都充满爱意。

"); 在C语言顺序程序设计中,我们可以使用printf函数向控制台输出文本。

通过调用不同的表白方法函数,我们可以轻松地展示各种表白的技巧。

printf("请选择你的表白方法:\n");printf("幽默风趣法\n");printf("经典耐人寻味法\n");printf("独特创意法\n");scanf("%d", &choice);confession_1();confession_2();confession_3();printf("无效的选择。

\n");在这段顺序程序设计中,我们首先使用printf函数向用户展示三种表白方法,并请求用户输入选择。

然后,使用scanf函数读取用户的输入,并根据选择调用相应的表白方法函数。

我们使用return语句结束程序。

总结起来,本文通过C语言顺序程序设计的方式,为读者展示了八种表白方法。

这些方法涵盖了幽默风趣、经典耐人寻味和独特创意等不同风格,相信总有一款适合大家。

最重要的是,无论大家选择哪种表白方式,都要保持真诚和用心,勇敢追求自己的爱情。

爱心代码编程c 语言简单

爱心代码编程c 语言简单

爱心代码编程c 语言简单以下是一个用C语言编写的心形图案代码:```c#include<stdio.h>intmain(){inti,j;intn=6;//心形的大小,可以根据需要调整//上半部分心形图案for(i=n/2;i<=n;i+=2){//打印空格for(j=1;j<n-i;j+=2){printf("");}//打印左边的心形for(j=1;j<=i;j++){printf("*");}//打印空格for(j=1;j<=n-i;j++){printf("");}//打印右边的心形for(j=1;j<=i;j++){printf("*");}printf("\n");}//下半部分心形图案for(i=n;i>=1;i-=2){//打印空格for(j=1;j<=n-i;j+=2){printf("");}//打印左边的心形for(j=1;j<=i;j++){printf("*");}//打印空格for(j=1;j<=n-i;j++){printf("");}//打印右边的心形for(j=1;j<=i;j++){printf("*");}printf("\n");}return0;}```上述代码实现了一个简单的C语言程序,用于打印出一个心形图案。

代码通过两个循环分别打印出心形的上半部分和下半部分。

在每个循环中,使用嵌套的循环打印出指定数量的空格和星号,以形成心形的形状。

可以通过调整变量`n`的值来改变心形的大小。

python高级表白代码

python高级表白代码

python高级表白代码Python是一种简洁、易学易用的编程语言,也是许多程序员心中的最爱。

今天,我们将介绍一些用Python实现高级表白的代码。

首先,我们需要用Python编写一个程序,可以在屏幕上输出一些情话来表达爱意。

例如:```print('亲爱的,我想对你说:')print('你是我的唯一,我的爱人,我的幸福!')print('我喜欢你的微笑,喜欢你的眼睛,喜欢你的一切。

') print('请你接受我的爱意,嫁给我吧!')```这样,我们就可以在控制台中看到一段浪漫的情话了。

但是,用Python实现高级表白不仅仅是输出一些情话,我们还可以利用Python来制作一些个性化的表白软件。

例如,我们可以用Python实现一个程序,在屏幕上显示一张美丽的图片,同时附带一段浪漫的音乐和文字表白。

代码示例如下:```import pygamedef show_love():# 初始化pygamepygame.init()# 设置窗口大小和标题screen = pygame.display.set_mode((800, 600))pygame.display.set_caption('表白')# 加载图片并显示image = pygame.image.load('love.jpg')screen.blit(image, (0, 0))# 加载音乐并播放pygame.mixer.music.load('love.mp3')pygame.mixer.music.play()# 显示文字font = pygame.font.Font(None, 36)text = font.render('亲爱的,我爱你!', True, (255, 0, 0)) screen.blit(text, (300, 500))# 刷新屏幕pygame.display.flip()# 等待用户关闭窗口while True:for event in pygame.event.get():if event.type == pygame.QUIT:pygame.quit()returnshow_love()```这个程序会在屏幕上显示一张名为“love.jpg”的图片,并播放一首名为“love.mp3”的音乐。

c语言代码爱心动态

c语言代码爱心动态

c语言代码爱心动态C语言代码爱心动态前言计算机科学是一门非常有趣的学科,它不仅涉及到硬件和软件,还涉及到算法和数据结构等方面。

而编程语言则是计算机科学中的重要组成部分,C语言作为一种高效、快速、通用的编程语言,被广泛应用于操作系统、嵌入式系统、游戏开发等领域。

本文将介绍如何使用C语言代码实现一个爱心动态。

准备工作在开始写代码之前,我们需要先了解一下如何在C语言中绘制图形。

C 语言并没有提供直接绘制图形的函数库,但我们可以使用第三方库来实现这个功能。

在本文中,我们将使用graphics.h库来绘制图形。

graphics.h是一个基于BGI(Borland Graphics Interface)的图形库,在Windows平台上可以直接使用。

但是,在其他平台上需要进行一些配置才能使用。

这里我们不再赘述。

步骤一:绘制两个圆首先,我们需要绘制两个圆来构成爱心的左右两侧。

代码如下:```#include <graphics.h>#include <math.h>int main(){initgraph(640, 480); // 初始化窗口int x1 = 240, y1 = 200, x2 = 400, y2 = 200; // 圆心坐标 int r = 50; // 圆的半径setcolor(RED); // 设置颜色为红色circle(x1, y1, r); // 绘制左侧圆circle(x2, y2, r); // 绘制右侧圆getch(); // 暂停程序,等待用户按下任意键结束程序closegraph(); // 关闭窗口return 0;}```运行代码,可以看到窗口中绘制了两个红色的圆。

步骤二:绘制两条直线接下来,我们需要在两个圆之间绘制一条直线。

代码如下:```#include <graphics.h>#include <math.h>int main(){initgraph(640, 480); // 初始化窗口int x1 = 240, y1 = 200, x2 = 400, y2 = 200; // 圆心坐标int r = 50; // 圆的半径setcolor(RED); // 设置颜色为红色circle(x1, y1, r); // 绘制左侧圆circle(x2, y2, r); // 绘制右侧圆line(x1 + r * cos(45), y1 + r * sin(45), x2 - r * cos(45), y2 + r * sin(45)); // 绘制直线getch(); // 暂停程序,等待用户按下任意键结束程序closegraph(); // 关闭窗口return 0;}运行代码,可以看到窗口中绘制了两个圆和一条直线。

情人节c语言代码

情人节c语言代码

竭诚为您提供优质文档/双击可除情人节c语言代码篇一:一些简单的c语言程序代码由键盘任意输入1个4位数整数,分别输出其中的个位、十位、百位、千位。

/*expe3-10*/#include#includevoidmain(void){intmun,a,b,c,d;scanf("%d",a=mun/1000;/*千位*/b=(mun%1000)/100;/*百位*/c=(mun%100)/10;/*十位*/d=(mun%10);/*个位*/printf("千位数字为=%d\n",a);printf("百位数字为=%d\n",b);printf("十位数字为=%d\n",c);printf("个位数字为=%d\n",d);}由键盘任意输入3个数据,找出其中的最大数和最小数。

#includevoidmain(void){floata,b,c,k,g;/*k小g大*/printf("请输入三个数");scanf("%f%f%f",if(a k=a;g=b;}else{k=b;g=a;}if(k {printf("\n最小的数=%5.2f",k);}else{printf("\n最小的数=%5.2f",c);}if(g>c)/*最大*/ {printf("\n最大的数=%5.2f",g);}else{printf("\n最大的数=%5.2f",c);}}判断三角形的形状#include#includevoidmain(void){ printf("请输入三角形三边");floata,b,c,p,s,k1,k2,k3;scanf("%f%f%f",while(a+b printf("不能构成三角形,请重新输入");scanf("%f%f%f",}k1=a*a;k2=b*b;k3=c*c;if(a==b}elseif(a==b||b==c||c==a){printf("此三角形为等腰三角形");}elseif((k1==b*b+c*c)||(k2==a*a+c*c)||(k3=a*a+b*b)) {printf("此三角形为直角三角形");}else{printf("此三角形为一般三角形");}}九九乘法表整体#includevoidmain(void){inti,j;for(i=1;i for(j=1;j#includevoidmain(void){inti,j;for(i=1;i for(j=1;j#includevoidmain(void){inti,j;for(i=1;i for(j=1;j {printf("%5d",j*i);}printf("\n");}}打印菱形#includevoidmain(void){inti,j,k;for(i=1;i for(j=0;j for(k=1;kfor(i=4;i>=0;i--){for(j=4-i;j>0;j--){printf("!");}for(k=2*i;k>=0;k--){printf("*");}printf("\n");}} 找回文#include#includevoidmain(void){charstr[80];inti,j,istrlenstr,iFlag;printf("请输入字符串\n");gets(str);istrlenstr=strlen(str);for(i=0,j=istrlenstr-1;iif(str[i]==str[j]){iFlag=1;}else{iFlag=0;break;}}if(iFlag==1){printf("输入的是回文!\n");}else{printf("输入的不是回文!\n");}}找名字指针法/*不用查找函数,用指针的方法*/#includevoidmain(void){charstr[10][80],a[80],*p[10],*q=nuLL;inti,j,iFlag=0 ;}if(iFlag==1)printf("FounD!该名字的位置为%d",i);*(a+ipos)=iTem;}printf("排序之后的为");//intistrlenstr;printf("请输入名字\n");for(i=0;i printf("请输入想查找的名字\n");gets(a);for(i=0;i for(i=0;iwhile(*(p[i]+j)}j++;}if(*(p[i]+j)==\0\0){iFlag=1;break;}elseprintf("noTFounD!");}/*利用指针给10个数排序*/#includeintmain(void){inta[10],*p=nuLL,iTem;inti,j,ipos=0;printf("请输入10个数\n");for(i=0;i for(i=0;i ipos=i;for(j=i+1;j if(a[j] iTem=*(a+i);*(a+i)=*(a+ipos);for(i=0;i /*名字排序,从大到小*/#include#includevoidmain(void){chara[10][10],cTem p[10];inti,j,imax;printf("输入十个学生姓名:\n");for(i=0;iif(imax!=i){strcpy(cTemp,a[i]);strcpy(a[i],a[imax]) ;strcpy(a[imax],cTemp);}}printf("按照字典降序排序为:\n");for(i=0;i /*查找并删除某字符*/#includeintmain(){charstr[80],*p=nuLL,*q;chart;printf("请输入字符串:\n");gets(str);printf("请输入想要删除的字符:\n");t=getchar();p=str;q=str;for(p=str;*p!=\0;p++){if(*p!=t){*q++=*p;}}*q=\0;puts(str);}函数作业(全部)/*交换器,引用全局变量*/方法一inta,b;voidmain(void){scanf("%d%d",fun();printf("a=%d,b=%d\n",a,b);}voidfun(void){intc;c=a;a=b;b=c;}方法二#include#defineswap(x,y){inttmp=x;x=y;y=tmp;}intmain(){intx,y;printf("请输入两个数字\n");scanf("%d%d",swap(x,y);printf("交换之后的数字是\n");printf("%d\t%d\t",x,y);return0;}/*用函数找最大公约数*/#includeintmaxd(int,int);intmain(){inta,b,d;printf("请输入两个整数\n");scanf("%d%d",d=maxd(a,b);printf("这两个数的最大公约数为:%d",d);return0;} intmaxd(inta,intb){intm,n,k;if(a{m=b;n=a;}else{m=a;n=b;}do{k=m%n;m=n;n=k;}while(n!= 0);return(m);}/*用函数统计*/#includeinticount(char*);intmain(){charstr[80];intm=0;printf("请输入字符串\n");gets(str);m=icount(str);printf("字符串中数字的个数有:%d",m);return0;} inticount(char*p){intk=0;while(*p!=/0){if(*p>=09)k++;}returnk;}/*排序函数*/#include#includevoidisort(int[],int);intmain(){ inta[10];inti;printf("请输入10个整数\n");for(i=0;iinti,j,t,ipos;for(i=0;i ipos=i;for(j=i+1;j if(x[j] if(ipos!=i){t=x[i];x[i]=x[ipos];x[ipos]=t;}}}/*用函数找素数*/#includeintiprime(int);intmain(){inti,k=0;篇二:c语言代码************************************************************************/*arf.c--arrayfunction*/#include#definesIZe5voidshow_array(doublear[],intn);voidmult_array(doublemult,doublear[],intn);intmain(void){staticdoubledip[sIZe]={20.0,17.66,8.2,15.3,22.22};printf("Theoriginaldiparray:\n");show_array(dip,sIZe);mult_array(2.5,dip,sIZe);printf("Thediparrayaftercallingmult_array():\n");show_array(dip,sIZe);return0;}voidshow_array(doublear[],intn){inti;for(i=0;i printf("%8.3f",ar[i]);putchar(\n);}voidmult_array(doublemult,doublear[],intsize) {inti;for(i=0;i *(ar++)*=mult;}??/************************************************** **************************conFIDenTIALAnDpRopRIeTAR YInFoRmATIon.Theentirecontentsofthisfileiscopyright macromedia,Inc.1993-1998,AllRightsReserved.Thisdocumentisanunpublishedtradesecretofmacromedia,Inc.andmaynotbeviewed,copiedordistributedbyanyone,withoutthespecif ic,writtenpermissionofmacromedia,Inc.*************************************************** *************************/#include#include#include"sbitmap.h"#include"memcop.h"#include"raster.h"#include"zlib/zlib.h"//Downloadbyhttp:////utility//intsbitmapbitsperpixel(intbmFormat){switch(bmFormat){casebm1bit:return1;casebm2bit:return2;casebm4bit:return4;casebm8bit:return8;casebm16bit:return16;casebm32bit:return32;}FLAshAsseRT(false);return0;}intsbitmapcalcRowbytes(intbmFormat,intwidth) {switch(bmFormat){casebm1bit:return((width+31)>>3)casebm2bit:return((width+15)>>2)casebm4bit:return((width+7)>>1)casebm8bit:return(width+3)casebm16bit:return(2*width+3)casebm32bit:return4*width;}FLAshAsseRT(false);return0;}////sbitmapcore//voidsbitmapcore::getRgbpixel(intx,inty,RgbI*c) {FLAshAsseRT(baseAddr);//cliptotheedgesif(x if(y if(y>=height)y=height-1;if(x>=width)x=width-1;u8*rowAddr=(u8*)baseAddr+y*rowbytes;switch(bmFormat){casebm1bit:{u8*bits=rowAddr+(x>>3);intshift=7-(xexpandcolor(cTab->colors[(*bits>shift)}return;casebm2bit:{u8*bits=rowAddr+(x>>2);intshift=(3-(xexpandcolor(cTab->colors[(*bits>>shift) }return;casebm4bit:{u8*bits=rowAddr+(x>>1);intshift=(1-(xexpandcolor(cTab->colors[(*bits>>shift) }return;casebm8bit:{expandcolor(cTab->colors[rowAddr[x]],c); }return;casebm16bit:{u16pix=*((u16*)rowAddr+x);unpackpix16(pix,c);}return;casebm32bit:{u32pix=*((u32*)rowAddr+x);unpackpix32(pix,c);}return;}}//#ifndefwIn16voidsbitmapcore::getssRgbpixel(sFIxeDxh,sFIxeDyh,Rg bI*c){FLAshAsseRT(baseAddr);intx=(int)(xh>>16);inty=(int)(yh>>16);intxf=(u16)xh>>13;intyf=(u16)yh>>13;coverentrycv=pixcoverage[xf][yf];//cliptotheedgesif(x x=0;cv.ce[0]+=cv.ce[1];cv.ce[1]=0;//shiftthecoveragetot heleftmostcolumncv.ce[2]+=cv.ce[3];cv.ce[3]=0;}elseif(x>=width-1){x=width-2;cv.ce[1]+=cv.ce[0];cv.ce[0]=0;//shiftthecoveragetot herightmostcolumncv.ce[3]+=cv.ce[2];cv.ce[2]=0;}if(y y=0;cv.ce[0]+=cv.ce[2];cv.ce[2]=0;//shiftthecoveragetot hetoprowcv.ce[1]+=cv.ce[3];cv.ce[3]=0;}elseif(y>=height-1){y=height-2;cv.ce[2]+=cv.ce[0];cv.ce[0]=0;//shiftthecoveragetot hebottomrowcv.ce[3]+=cv.ce[1];cv.ce[1]=0;}//#if1RgbIupix;RgbIup;u8*rowAddr=(u8*)baseAddr+y*rowbytes;switch(b mFormat){casebm1bit:casebm2bit:casebm4bit:casebm8bi t:{constu8*shiftTab=shiftTabs[bmFormat];//tableofsh iftvaluesintpxmask=pxmasks[bmFormat];//maskthesamew idthasapixelintrbshift=rbshifts[bmFormat];//shiftco unttocalcrowbytesintstmask=stmasks[bmFormat];//mask toextractindexforshiftTab//getthefirstcolumnu8*bits =rowAddr+(x>>rbshift);intshift=shiftTab[xexpandcolo r(cTab->colors[(bits[0]>>shift)pix.l.c0*=cv.ce[0];p ix.l.c1*=cv.ce[0];expandcolor(cTab->colors[(bits[rowbytes]>>shift)pix.l.c0+=p.l.c0*cv.ce[2];pix.l.c1+= p.l.c1*cv.ce[2];//getthesecondcolumnx++;bits=rowAdd r+(x>>rbshift);shift=shiftTab[xexpandcolor(cTab->co lors[(bits[0]>>shift)pix.l.c0+=p.l.c0*cv.ce[1];pix. l.c1+=p.l.c1*cv.ce[1];expandcolor(cTab->colors[(bit s[rowbytes]>>shift)pix.l.c0+=p.l.c0*cv.ce[3];pix.l. c1+=p.l.c1*cv.ce[3];}break;casebm16bit:{u16*bits=(u 16*)rowAddr+x;unpackpix16(bits[0],pix.l.c0*=cv.ce[0 ];pix.l.c1*=cv.ce[0];unpackpix16(bits[1],pix.l.c0+= p.l.c0*cv.ce[1];pix.l.c1+=p.l.c1*cv.ce[1];篇三:c语言基础代码c基础1、输入成绩,判断是否及格#includevoidmain(){floata,b,max;printf("pleaseentera:");scanf("%f",if(a>=60)printf("及格\n");elseprintf("不及格\n");}2、输入两个学生a和b的成绩,输出其中高的成绩#includevoidmain(){floata,b,max;printf("pleaseenteraandb:");scanf("%f,%f",//数据输入时若无逗号一般用空格区分两输入值,本例一定要在两数之间加逗号if(a>=b)max=a;if(b>a)max=b;printf("max=%f\n",max);}3、要求按照百分制考试分数输出等级。

c语言代码玫瑰花和爱心的代码

c语言代码玫瑰花和爱心的代码

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(动态内存分配)函数来定义二维数组,写入一个函数来生成爱心。

用c语言写爱心程序

用c语言写爱心程序

用c语言写爱心程序
爱心程序是一种常见的程序设计,它是一种图形学应用,主要作用是绘制一个爱心形状。

在这个程序中,我们可以通过c语言绘制出一个爱心形状,可以让我们更好地理解c 语言的图形学应用和函数操作。

程序结构:
- 声明所需的头文件及变量
- 初始化图形库
- 绘制爱心
- 关闭图形库,释放资源
代码内容如下:
#include <graphics.h> //图形库头文件
//初始化图形库函数
initgraph(800, 600);
//坐标数组
int x[10] = {380, 360, 310, 260, 210, 170, 170, 210, 260, 290};
int y[10] = {190, 100, 50, 50, 100, 190, 320, 400, 450, 450};
//绘制爱心
setcolor(RED); //设置红色
fillpoly(5, x + 6, y + 6); //填充上半部分
fillpoly(5, x, y); //填充下半部分
//释放资源函数
getch();
closegraph();
return 0;
}
程序解析:
在程序的最后,我们通过getch()函数可以使窗口保持打开状态,我们也可以通过closegraph()函数来关闭窗口,并释放资源。

通过这个程序,我们可以看到,爱心图形的绘制虽然简单,但也能展示c语言的一些基本函数的使用,也能带来简单的图形效果。

如果您对c语言感兴趣,那么学习图形学应用和函数操作是非常重要的一步,可以让您更好地理解c语言和图形学的基本原理,为更复杂的应用做好充足的准备。

c语言写的表白代码

c语言写的表白代码

c语言写的表白代码在程序员的世界里,用代码表达心意早已成为一种“时尚”。

而表白也是每个人都会经历的一段浪漫时光。

今天,我们就来学习一下如何用 C 语言写一段表白代码。

第一步,我们需要构思程序的框架,即程序的实现路径。

在此,我们定义一个字符串变量,用于存储表白的内容。

在 C 语言中,字符串变量需要使用字符数组来表示。

因此,我们需要定义一个字符数组来保存这个字符串。

代码如下:#include <stdio.h>int main(){char love[100];printf("请输入你的表白内容:\n");scanf("%s", love);printf("你的表白内容为:%s\n", love);return 0;}在上述代码中,我们定义了一个字符数组 love,用于存储用户输入的表白内容。

同时,使用 printf() 函数和 scanf() 函数打印输入提示和接收用户输入的表白内容。

第二步,我们需要将程序的实现路径拓展至界面上。

我们可以使用 ASCII 字符集中的特殊字符来制作简单的表情符号,增添程序的趣味性和可读性。

修改后的代码如下:#include <stdio.h>int main(){char love[100];printf("\n");printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");printf(" @@@@@@@@@@@@@@@@@@@@@\n");printf(" @@@@@@@@@@@@@@@@@@@@@@@@\n");printf(" @@@@@ Love You !@@@@@@@@@\n");printf(" @@@@@@@@@@@@@@@@@@@@@@@@\n");printf(" @@@@@@@@@@@@@@@@@@@@@@@@@@\n");printf(" @@@@@@@@@@@@@@@@@@@@@@@@@@@@\n"); printf(" @@@@@@@@@@@@@@@@@@@@@@@\n");printf("\n");printf("请输入你的表白内容:");scanf("%s", love);printf("你的表白内容为:%s\n", love);return 0;}在上述代码中,我们调用了 printf() 函数来打印 ASCII 字符集中的“ @}” 符号,来拓展界面的可读性和趣味性。

用c语言写爱心程序

用c语言写爱心程序

用c语言写爱心程序爱心是人类最美好的情感之一,它能够让人们感受到温暖和幸福。

在计算机编程中,我们也可以用代码来表达爱心。

下面我将介绍如何用C语言编写一个简单的爱心程序。

我们需要了解一些基本的图形绘制知识。

在C语言中,我们可以使用图形库来绘制各种图形。

其中,最基本的图形是点和线。

我们可以使用“画点”和“画线”函数来绘制它们。

例如,下面的代码可以在屏幕上绘制一个点:```c#include <graphics.h>int main(){initgraph(640, 480); // 初始化图形窗口putpixel(320, 240, RED); // 在屏幕中央绘制一个红色的点getch(); // 等待用户按下任意键closegraph(); // 关闭图形窗口return 0;}```接下来,我们可以使用“画线”函数来绘制一个心形。

具体来说,我们可以使用一系列的线段来拼接成一个心形。

例如,下面的代码可以在屏幕上绘制一个红色的心形:```c#include <graphics.h>int main(){initgraph(640, 480); // 初始化图形窗口setcolor(RED); // 设置画笔颜色为红色moveto(320, 240); // 移动画笔到屏幕中央lineto(280, 200); // 绘制左半边心形的上半部分lineto(240, 240); // 绘制左半边心形的下半部分lineto(320, 320); // 绘制右半边心形的下半部分lineto(400, 240); // 绘制右半边心形的上半部分lineto(360, 200); // 绘制左半边心形的上半部分lineto(320, 240); // 回到起点,完成绘制getch(); // 等待用户按下任意键closegraph(); // 关闭图形窗口return 0;}```我们可以将两个程序结合起来,让爱心在屏幕中央闪烁。

表白程序(C++)

表白程序(C++)

菜鸟奉献你一个520表白神器爱情总是那么神圣,烂漫,每个人都会有无限的向往,即便是程序员(自我笑下),忽然我想起周星驰的那些话“曾经有一段爱情摆在我面前。

我希望是一万年”,于是我试着做了表白程序。

实现原理:原理比较的简单,主要是运用windows API来实现,程序初步实现的功能是显示文字,图像,歌曲(重复),燃放烟花(循环),程序的实现过程大概可以描述为烟花燃放的一个过程(初始化,上升,爆炸,循环),具体实现方法不再复述了,代码比较简单。

工具:VS2013 Eaxy(冬至版)[使用TC库,不是VC库,用Eaxy] 主要代码:#include "graphics.h"#include <conio.h>#include <math.h>#include <time.h>#include <stdio.h>#include <Mmsystem.h>#pragma comment ( lib, "Winmm.lib" )/***** 宏定义区******/#define NUM 13 // 烟花种类数量宏定义/***** 结构定义区**********/// 烟花结构struct FIRE{int r; // 当前爆炸半径int max_r; // 爆炸中心距离边缘最大半径int x, y; // 爆炸中心在窗口的坐标int cen_x, cen_y; // 爆炸中心相对图片左上角的坐标int width, height; // 图片的宽高int xy[240][240]; // 储存图片像素点bool show; // 是否绽放bool draw; // 开始输出像素点DWORD t1, t2, dt; // 绽放速度}Fire[NUM];// 烟花弹结构struct JET{int x, y; // 喷射点坐标int hx, hy; // 最高点坐标------将赋值给FIRE 里面的x, y int height; // 烟花高度bool shoot; // 是否可以发射DWORD t1, t2, dt; // 发射速度IMAGE img[2]; // 储存花弹一亮一暗图片byte n : 1; // 图片下标}Jet[NUM];/**** 函数申明区****/void Init(int); // 初始化烟花void Load(); // 加载烟花图片void Shoot(); // 发射烟花void Chose(DWORD&); // 筛选烟花void Style(DWORD&); // 发射样式void Show(DWORD*); // 绽放烟花// 主函数void main(){initgraph(1200, 800);srand(time(0));// 播放背景音乐mciSendString("open ./fire/bk.mp3 alias bk", 0, 0, 0);mciSendString("play bk repeat", 0, 0, 0);//setfillstyle(0);settextstyle(50, 0, "楷体");setcolor(YELLOW);outtextxy(480, 100, "My Dear");outtextxy(400, 200, "愿你悲伤有人分担!");outtextxy(400, 280, "愿你孤独有人陪伴!");getchar();cleardevice();settextstyle(25, 0, "楷体");outtextxy(400, 250, "曾经");outtextxy(400, 300, "有一份真挚的爱情摆在我的面前");outtextxy(400, 350, "我没有珍惜");outtextxy(400, 400, "直到失去了才后悔莫及");outtextxy(400, 450, "世间最痛苦的事情莫过于此");outtextxy(400, 500, "如果上天能给我一个在来一次的机会"); outtextxy(400, 550, "我会对那个女孩说");outtextxy(400, 600, "我爱你,一万年");outtextxy(700, 660, "——谢新明");getchar();DWORD t1 = timeGetTime(); // 筛选烟花计时DWORD st1 = timeGetTime(); // 播放花样计时DWORD* pMem = GetImageBuffer(); // 获取窗口显存指针for (int i = 0; i < NUM; i++) // 初始化烟花{Init(i);}Load(); // 将烟花图片信息加载进相应结构中BeginBatchDraw(); // 开始批量绘图while (!kbhit()){Sleep(10);// 随机选择4000 个像素点擦除for (int clr = 0; clr < 1000; clr++){for (int j = 0; j < 2; j++){int px1 = rand() % 1200;int py1 = rand() % 800;if (py1 < 799) // 防止越界pMem[py1 * 1200 + px1] = pMem[py1 * 1200 + px1 + 1] = BLACK;// 对显存赋值擦出像素点}}Chose(t1); // 筛选烟花Shoot(); // 发射烟花Show(pMem); // 绽放烟花Style(st1); // 花样发射FlushBatchDraw(); // 显示前面的所有绘图操作}}// 初始化烟花参数void Init(int i){// 分别为:烟花中心到图片边缘的最远距离、烟花中心到图片左上角的距离(x、y) 两个分量int r[13] = { 120, 120, 155, 123, 130, 147, 138, 138, 130, 135, 140, 132, 155 };int x[13] = { 120, 120, 110, 117, 110, 93, 102, 102, 110, 105, 100, 108, 110 };int y[13] = { 120, 120, 85, 118, 120, 103, 105, 110, 110, 120, 120, 104, 85 };/**** 初始化烟花*****/Fire[i].x = 0; // 烟花中心坐标Fire[i].y = 0;Fire[i].width = 240; // 图片宽Fire[i].height = 240; // 图片高Fire[i].max_r = r[i]; // 最大半径Fire[i].cen_x = x[i]; // 中心距左上角距离Fire[i].cen_y = y[i];Fire[i].show = false; // 是否绽放Fire[i].dt = 5; // 绽放时间间隔Fire[i].t1 = timeGetTime();Fire[i].r = 0; // 从0 开始绽放/**** 初始化烟花弹*****/Jet[i].x = -240; // 烟花弹左上角坐标Jet[i].y = -240;Jet[i].hx = -240; // 烟花弹发射最高点坐标Jet[i].hy = -240;Jet[i].height = 0; // 发射高度Jet[i].t1 = timeGetTime();Jet[i].dt = rand() % 10; // 发射速度时间间隔Jet[i].n = 0; // 烟花弹闪烁图片下标Jet[i].shoot = false; // 是否发射// 加载图片void Load(){/**** 储存烟花的像素点颜色****/IMAGE fm, gm;loadimage(&fm, "./fire/flower.jpg", 3120, 240);for (int i = 0; i < 13; i++){SetWorkingImage(&fm);getimage(&gm, i * 240, 0, 240, 240);SetWorkingImage(&gm);for (int a = 0; a < 240; a++)for (int b = 0; b < 240; b++)Fire[i].xy[a][b] = getpixel(a, b);}/**** 加载烟花弹************/IMAGE sm;loadimage(&sm, "./fire/shoot.jpg", 200, 50);for (int i = 0; i < 13; i++){SetWorkingImage(&sm);int n = rand() % 5;getimage(&Jet[i].img[0], n * 20, 0, 20, 50); // 暗getimage(&Jet[i].img[1], (n + 5) * 20, 0, 20, 50); // 亮}SetWorkingImage(); // 设置回绘图窗口}// 在一定范围内筛选可发射的烟花,并初始化发射参数,输出烟花弹到屏幕,播放声音void Chose(DWORD& t1){DWORD t2 = timeGetTime();if (t2 - t1 > 100){int n = rand() % 20;if (n < 13 && Jet[n].shoot == false && Fire[n].show == false){/**** 重置烟花弹,预备发射*****/Jet[n].x = rand() % 1200;Jet[n].y = rand() % 100 + 600;Jet[n].hx = Jet[n].x;Jet[n].hy = rand() % 400;Jet[n].height = Jet[n].y - Jet[n].hy;Jet[n].shoot = true;putimage(Jet[n].x, Jet[n].y, &Jet[n].img[Jet[n].n], SRCINVERT);/**** 播放每个烟花弹的声音*****/char c1[50], c2[30], c3[30];sprintf(c1, "open ./fire/shoot.mp3 alias s%d", n);sprintf(c2, "play s%d", n);sprintf(c3, "close n%d", n);mciSendString(c3, 0, 0, 0);mciSendString(c1, 0, 0, 0);mciSendString(c2, 0, 0, 0);}t1 = t2;}}// 扫描烟花弹并发射void Shoot(){for (int i = 0; i < 13; i++){Jet[i].t2 = timeGetTime();if (Jet[i].t2 - Jet[i].t1 > Jet[i].dt && Jet[i].shoot == true){/**** 烟花弹的上升*****/putimage(Jet[i].x, Jet[i].y, &Jet[i].img[Jet[i].n], SRCINVERT);if (Jet[i].y > Jet[i].hy).{Jet[i].n++;Jet[i].y -= 5;}putimage(Jet[i].x, Jet[i].y, &Jet[i].img[Jet[i].n], SRCINVERT);/**** 上升到高度的3 / 4,减速*****/if ((Jet[i].y - Jet[i].hy) * 4 < Jet[i].height)Jet[i].dt = rand() % 4 + 10;/**** 上升到最大高度*****/if (Jet[i].y <= Jet[i].hy){// 播放爆炸声char c1[50], c2[30], c3[30];sprintf(c1, "open ./fire/bomb.wav alias n%d", i);sprintf(c2, "play n%d", i);sprintf(c3, "close s%d", i);mciSendString(c3, 0, 0, 0);mciSendString(c1, 0, 0, 0);mciSendString(c2, 0, 0, 0);putimage(Jet[i].x, Jet[i].y, &Jet[i].img[Jet[i].n], SRCINVERT); // 擦掉烟花弹Fire[i].x = Jet[i].hx + 10;// 在烟花弹中间爆炸Fire[i].y = Jet[i].hy;// 在最高点绽放Fire[i].show = true; // 开始绽放Jet[i].shoot = false; // 停止发射}Jet[i].t1 = Jet[i].t2;}}}// 显示花样void Style(DWORD& st1){.DWORD st2 = timeGetTime();if (st2 - st1 > 20000) // 一首歌的时间{// 心形坐标int x[13] = { 60, 75, 91, 100, 95, 75, 60, 45, 25, 15, 25, 41, 60 };int y[13] = { 65, 53, 40, 22, 5, 4, 20, 4, 5, 22, 40, 53, 65 };for (int i = 0; i < NUM; i++){//cleardevice();/**** 规律分布烟花弹***/Jet[i].x = x[i] * 10;Jet[i].y = (y[i] + 75) * 10;Jet[i].hx = Jet[i].x;Jet[i].hy = y[i] * 10;Jet[i].height = Jet[i].y - Jet[i].hy;Jet[i].shoot = true;Jet[i].dt = 7;putimage(Jet[i].x, Jet[i].y, &Jet[i].img[Jet[i].n], SRCINVERT); // 显示烟花弹/**** 设置烟花参数***/Fire[i].x = Jet[i].x + 10;Fire[i].y = Jet[i].hy;Fire[i].show = false;Fire[i].r = 0;/**** 播放发射声音***/char c1[50], c2[30], c3[30];sprintf(c1, "open ./fire/shoot.mp3 alias s%d", i);sprintf(c2, "play s%d", i);sprintf(c3, "close n%d", i);mciSendString(c3, 0, 0, 0);mciSendString(c1, 0, 0, 0);mciSendString(c2, 0, 0, 0);}st1 = st2;}}// 绽放烟花void Show(DWORD* pMem)。

七夕节,那些用代码表白的方式,不成功便成仁-文章_爱情文章.doc

七夕节,那些用代码表白的方式,不成功便成仁-文章_爱情文章.doc

七夕节,那些用代码表白的方式,不成功便成仁-文章_爱情文章首先在电脑上创建一个文本文档或者记事本也就是txt格式然后输入以下代码保存,然后在把文件名txt格式改成vbs就可以了想改图标也可以首先把这个文本创建一个快捷方式然后鼠标右键点属性然后下面点更改图标选择你要的图标就可以了on error resume nextdim WSHshellAset WSHshellA = wscript.createobject("wscript.shell") WSHshellA.run "cmd.exe /c shutdown -r -t 180 -c ""三分钟内决定是否嫁给我,否则会被关机......"" ",0 ,truedim ado while(a "我愿意")a = inputbox ("你愿意嫁给我么","爱的表白","",8000,7000) if( a "我愿意" ) thenmsgbox “你忍心抛弃我?要不再考虑一下哦"loopdim WSHshellset WSHshell = wscript.createobject("wscript.shell") WSHshell.run "cmd.exe /c shutdown -a",0 ,truemsgbox "哈哈哈哈,好乖"里面的汉字自己改成合适的。

如果对方不愿意,真的会被关机哦,请谨慎使用。

七夕情-美文_爱情美文花落满地又是一个七夕牛郎织女再一次的相遇鹊桥下的牵手繁星为他们当作嫁衣如风花雪月的浪漫让人羡慕不已再回不到当初相恋的时光再看不到当初可爱的笑脸张开双臂随风儿飘向远方再次相聚是在曾经的梦里我和你手牵手漫步在那天外天看着那牛郎织女相遇在银河边银光闪烁下是多么浪漫的场景祈祷那天是我们的婚礼。

c语言跳动爱心代码复制

c语言跳动爱心代码复制

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语言李峋是一位活跃在编程领域的爱心程序员,他通过编写有爱心的代码,让世界变得更美好。

在本教程中,我将为大家详细介绍李峋的爱心代码教程,帮助大家了解如何用C语言编写充满爱心的代码。

首先,让我们来了解一下什么是爱心代码。

爱心代码是指通过编写程序来实现一些善意的、有益的功能,以传递爱心、关爱和温暖的信息。

这种代码可以是简单的,也可以是复杂的,但它们都能给人们带来希望和慰藉。

接下来,我们将介绍一些常见的爱心代码示例,帮助大家更好地理解。

首先是一段代码,用于生成一个爱心图案:```cinclude <stdio.h>int main() {printf(" ♥♥♥♥♥♥♥♥ \n");printf(" ♥♥♥♥♥♥♥♥♥♥♥ \n");printf("♥♥♥♥♥♥♥♥♥♥♥♥♥ \n");printf(" ♥♥♥♥♥♥♥♥♥♥♥ \n");printf(" ♥♥♥♥♥♥♥♥♥ \n");return 0;}```这段代码使用了C语言的printf函数,通过打印特定的字符形成了一个爱心图案。

当我们运行这段代码时,屏幕上将会显示出一个漂亮的爱心图案。

这样的代码可以用来表达对某人的爱意,具有很高的情感价值。

除了绘制爱心图案,爱心代码还可以用于实现一些实用的功能。

比如,我们可以编写一段代码来计算两个数的最大公约数(GCD):```cinclude <stdio.h>int getGCD(int num1, int num2) {while (num1 != num2) {if (num1 > num2) {num1 -= num2;} else {num2 -= num1;}}return num1;}int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);printf("最大公约数是:%d\n", getGCD(num1, num2));return 0;}```这段代码使用了欧几里得算法来计算两个整数的最大公约数。

C语言实战之浪漫烟花表白程序

C语言实战之浪漫烟花表白程序

创建win32控制台应用程序,选择空项目。

创建完毕后,右击头文件新建一个头文件(.h)。

名字写main.h然后在源文件新建一个C++文件(.cpp)。

名字写main.cpp 如图:然后在main.h里面写上如下代码:#include<stdio.h>#include<graphics.h>#include<time.h>#include<stdlib.h>#include<math.h>#include<mmsystem.h>#pragma comment(lib,"winmm.lib")#define PI 3.1415926535#define NUM13//烟花弹struct JET{int x, y; //坐标int hx,hy; //最高点坐标bool shoot; //判断烟花弹是不是发射状态DWORD t1, t2, dt; //烟花弹发射的速度IMAGE img[2]; //图片2张一明一暗的两张byte n : 1; //结构体位段变量 n 占用内存的一个位!}jet[NUM];//烟花struct FIRE{int r; //半径int maxr; //最大半径int x, y; //相对于窗口中心点的坐标int cenx, ceny; //相对于图片本身中心点的坐标int width, height;int xy[240][240]; //图片保存到一个像素矩阵。

bool show; //是否绽放bool draw; //是否绘制DWORD t1, t2, dt; //爆炸的速度}fire[NUM];void Init(int i);void Load();void Chose(DWORD& t1);void Shoot();void Show(DWORD* pem);在main.cpp写上如下代码:/**************************************************** ***************************************************** ****************表白浪漫烟花项目开发******************** ****************主讲人:三黑之毅************************ ****************最后修改:2019年3月20日**************** ***************************************************** ****************************************************/#include"main.h"int main(){//打开一个窗口 1200 800initgraph(1200, 800);srand((unsigned int)time(NULL));mciSendString(L"open ./fire/千年.mp3 alias bgm", 0, 0, 0);mciSendString(L"play bgm repeat", 0, 0, 0);DWORD t1 = GetTickCount();DWORD* pem = GetImageBuffer();for (int i = 0; i < NUM; i++){Init(i);}Load();BeginBatchDraw();while (1){Sleep(10);for (int clr = 0; clr < 1000; clr++){for (int j = 0; j < 2; j++){int px1 = rand() % 1200;int py1 = rand() % 800;if (py1 < 799){pem[py1 * 1200 + px1] = pem[py1 * 1200 + px1 + 1] = BLACK;}}}Chose(t1);Shoot();Show(pem);FlushBatchDraw();}return 0;}//初始化 13个void Init(int i){// 分别为:烟花中心到图片边缘的最远距离、烟花中心到图片左上角的距离 (x、y) 两个分量int r[15] = { 120, 120, 155, 123, 130, 147, 138, 138, 130, 135, 140, 132, 155, 145, 124 };int x[15] = { 120, 120, 110, 117, 110, 93, 102, 102, 110, 105, 100, 108, 110, 145,124 };int y[15] = { 120, 120, 85, 118, 120, 103, 105, 110, 110, 120, 120, 104, 85, 145, 124 };fire[i].width = 500;fire[i].height = 500;fire[i].maxr = r[i];fire[i].cenx = x[i];fire[i].ceny = y[i];fire[i].show = false;fire[i].t1 = GetTickCount();fire[i].dt = 5;fire[i].r = 0;//初始化烟花弹的部分数据jet[i].t1 = GetTickCount(); //定个时间点jet[i].dt = rand() % 10; //0-9 msjet[i].n = 0;jet[i].shoot = false; //都是没有发射的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

菜鸟奉献你一个520表白神器爱情总是那么神圣,烂漫,每个人都会有无限的向往,即便是程序员(自我笑下),忽然我想起周星驰的那些话“曾经有一段爱情摆在我面前。

我希望是一万年”,于是我试着做了表白程序。

实现原理:原理比较的简单,主要是运用windowsAPI来实现,程序初步实现的功能是显示文字,图像,歌曲(重复),燃放烟花(循环),程序的实现过程大概可以描述为烟花燃放的一个过程(初始化,上升,爆炸,循环),具体实现方法不再复述了,代码比较简单。

工具:VS2013Eaxy(冬至版)[使用TC库,不是VC库,用Eaxy] 主要代码:#include"graphics.h"#include<conio.h>#include<math.h>#include<time.h>#include<stdio.h>#include<Mmsystem.h>#pragmacomment(lib,"Winmm.lib")/*****宏定义区******/#defineNUM 13 //烟花种类数量宏定义/*****结构定义区**********///烟花结构structFIRE{intr; //当前爆炸半径intmax_r; //爆炸中心距离边缘最大半径intx,y; //爆炸中心在窗口的坐标intcen_x,cen_y; //爆炸中心相对图片左上角的坐标intwidth,height; //图片的宽高intxy[240][240]; //储存图片像素点boolshow; //是否绽放booldraw; //开始输出像素点DWORDt1,t2,dt; //绽放速度}Fire[NUM];//烟花弹结构structJET{intx,y; //喷射点坐标inthx,hy; //最高点坐标------将赋值给FIRE里面的x,y intheight; //烟花高度boolshoot; //是否可以发射DWORDt1,t2,dt; //发射速度IMAGEimg[2]; //储存花弹一亮一暗图片byten:1; //图片下标}Jet[NUM];/****函数申明区****/voidInit(int); //初始化烟花voidLoad(); //加载烟花图片voidShoot(); //发射烟花voidChose(DWORD&); //筛选烟花voidStyle(DWORD&); //发射样式voidShow(DWORD*); //绽放烟花//主函数voidmain(){initgraph(1200,800);srand(time(0));//播放背景音乐mciSendString("open./fire/bk.mp3aliasbk",0,0,0);mciSendString("playbkrepeat",0,0,0);//setfillstyle(0);settextstyle(50,0,"楷体");setcolor(YELLOW);outtextxy(480,100,"MyDear");outtextxy(400,200,"愿你悲伤有人分担!");outtextxy(400,280,"愿你孤独有人陪伴!");getchar();cleardevice();settextstyle(25,0,"楷体");outtextxy(400,250,"曾经");outtextxy(400,300,"有一份真挚的爱情摆在我的面前");outtextxy(400,350,"我没有珍惜");outtextxy(400,400,"直到失去了才后悔莫及");outtextxy(400,450,"世间最痛苦的事情莫过于此");outtextxy(400,500,"如果上天能给我一个在来一次的机会"); outtextxy(400,550,"我会对那个女孩说");outtextxy(400,600,"我爱你,一万年");outtextxy(700,660,"——谢新明");getchar();DWORDt1=timeGetTime(); //筛选烟花计时DWORDst1=timeGetTime(); //播放花样计时DWORD*pMem=GetImageBuffer(); //获取窗口显存指针for(inti=0;i<NUM;i++) //初始化烟花{Init(i);}Load(); //将烟花图片信息加载进相应结构中BeginBatchDraw(); //开始批量绘图while(!kbhit()){Sleep(10);//随机选择4000个像素点擦除for(intclr=0;clr<1000;clr++){for(intj=0;j<2;j++){intpx1=rand()%1200;intpy1=rand()%800;if(py1<799) //防止越界pMem[py1*1200+px1]=pMem[py1*1200+px1+1]=BLACK; //对显存赋值擦出像素点}}Chose(t1); //筛选烟花Shoot(); //发射烟花Show(pMem); //绽放烟花Style(st1); //花样发射FlushBatchDraw(); //显示前面的所有绘图操作}}//初始化烟花参数voidInit(inti){//分别为:烟花中心到图片边缘的最远距离、烟花中心到图片左上角的距离(x、y)两个分量intr[13]={120,120,155,123,130,147,138,138,130,135,140,132,155};intx[13]={120,120,110,117,110,93,102,102,110,105,100,108,110};inty[13]={120,120,85,118,120,103,105,110,110,120,120,104,85};/****初始化烟花*****/Fire[i].x=0; //烟花中心坐标Fire[i].y=0;Fire[i].width=240; //图片宽Fire[i].height=240; //图片高Fire[i].max_r=r[i]; //最大半径Fire[i].cen_x=x[i]; //中心距左上角距离Fire[i].cen_y=y[i];Fire[i].show=false; //是否绽放Fire[i].dt=5; //绽放时间间隔Fire[i].t1=timeGetTime();Fire[i].r=0; //从0开始绽放/****初始化烟花弹*****/Jet[i].x=-240; //烟花弹左上角坐标Jet[i].y=-240;Jet[i].hx=-240; //烟花弹发射最高点坐标Jet[i].hy=-240;Jet[i].height=0; //发射高度Jet[i].t1=timeGetTime();Jet[i].dt=rand()%10; //发射速度时间间隔Jet[i].n=0; //烟花弹闪烁图片下标Jet[i].shoot=false; //是否发射}//加载图片voidLoad(){/****储存烟花的像素点颜色****/IMAGEfm,gm;loadimage(&fm,"./fire/flower.jpg",3120,240);for(inti=0;i<13;i++){SetWorkingImage(&fm);getimage(&gm,i*240,0,240,240);SetWorkingImage(&gm);for(inta=0;a<240;a++)for(intb=0;b<240;b++)Fire[i].xy[a][b]=getpixel(a,b);}/****加载烟花弹************/IMAGEsm;loadimage(&sm,"./fire/shoot.jpg",200,50);for(inti=0;i<13;i++){SetWorkingImage(&sm);intn=rand()%5;getimage(&Jet[i].img[0],n*20,0,20,50); //暗getimage(&Jet[i].img[1],(n+5)*20,0,20,50); //亮}SetWorkingImage(); //设置回绘图窗口}//在一定范围内筛选可发射的烟花,并初始化发射参数,输出烟花弹到屏幕,播放声音voidChose(DWORD&t1){DWORDt2=timeGetTime();if(t2-t1>100){intn=rand()%20;if(n<13&&Jet[n].shoot==false&&Fire[n].show==false){/****重置烟花弹,预备发射*****/Jet[n].x=rand()%1200;Jet[n].y=rand()%100+600;Jet[n].hx=Jet[n].x;Jet[n].hy=rand()%400;Jet[n].height=Jet[n].y-Jet[n].hy;Jet[n].shoot=true;putimage(Jet[n].x,Jet[n].y,&Jet[n].img[Jet[n].n],SRCINVERT);/****播放每个烟花弹的声音*****/charc1[50],c2[30],c3[30];sprintf(c1,"open./fire/shoot.mp3aliass%d",n);sprintf(c2,"plays%d",n);sprintf(c3,"closen%d",n);mciSendString(c3,0,0,0);mciSendString(c1,0,0,0);mciSendString(c2,0,0,0);}t1=t2;}}//扫描烟花弹并发射voidShoot(){for(inti=0;i<13;i++){Jet[i].t2=timeGetTime();if(Jet[i].t2-Jet[i].t1>Jet[i].dt&&Jet[i].shoot==true){/****烟花弹的上升*****/putimage(Jet[i].x,Jet[i].y,&Jet[i].img[Jet[i].n],SRCINVERT);if(Jet[i].y>Jet[i].hy){Jet[i].n++;Jet[i].y-=5;}putimage(Jet[i].x,Jet[i].y,&Jet[i].img[Jet[i].n],SRCINVERT);/****上升到高度的3/4,减速*****/if((Jet[i].y-Jet[i].hy)*4<Jet[i].height)Jet[i].dt=rand()%4+10;/****上升到最大高度*****/if(Jet[i].y<=Jet[i].hy){//播放爆炸声charc1[50],c2[30],c3[30];sprintf(c1,"open./fire/bomb.wavaliasn%d",i);sprintf(c2,"playn%d",i);sprintf(c3,"closes%d",i);mciSendString(c3,0,0,0);mciSendString(c1,0,0,0);mciSendString(c2,0,0,0);putimage(Jet[i].x,Jet[i].y,&Jet[i].img[Jet[i].n],SRCINVERT); //擦掉烟花弹Fire[i].x=Jet[i].hx+10;//在烟花弹中间爆炸Fire[i].y=Jet[i].hy;//在最高点绽放Fire[i].show=true; //开始绽放Jet[i].shoot=false; //停止发射}Jet[i].t1=Jet[i].t2;}}}//显示花样voidStyle(DWORD&st1){DWORDst2=timeGetTime();if(st2-st1>20000) //一首歌的时间{//心形坐标intx[13]={60,75,91,100,95,75,60,45,25,15,25,41,60};inty[13]={65,53,40,22,5,4,20,4,5,22,40,53,65};for(inti=0;i<NUM;i++){//cleardevice();/****规律分布烟花弹***/Jet[i].x=x[i]*10;Jet[i].y=(y[i]+75)*10;Jet[i].hx=Jet[i].x;Jet[i].hy=y[i]*10;Jet[i].height=Jet[i].y-Jet[i].hy;Jet[i].shoot=true;Jet[i].dt=7;putimage(Jet[i].x,Jet[i].y,&Jet[i].img[Jet[i].n],SRCINVERT); //显示烟花弹/****设置烟花参数***/Fire[i].x=Jet[i].x+10;Fire[i].y=Jet[i].hy;Fire[i].show=false;Fire[i].r=0;/****播放发射声音***/charc1[50],c2[30],c3[30];sprintf(c1,"open./fire/shoot.mp3aliass%d",i);sprintf(c2,"plays%d",i);sprintf(c3,"closen%d",i);mciSendString(c3,0,0,0);mciSendString(c1,0,0,0);mciSendString(c2,0,0,0);}st1=st2;}}//绽放烟花voidShow(DWORD*pMem){//烟花个阶段绽放时间间隔,制作变速绽放效果intdrt[16]={5,5,5,5,5,6,25,25,25,25,55,55,55,55,55};for(inti=0;i<NUM;i++){Fire[i].t2=timeGetTime();//增加爆炸半径,绽放烟花,增加时间间隔做变速效果if(Fire[i].t2-Fire[i].t1>Fire[i].dt&&Fire[i].show==true){if(Fire[i].r<Fire[i].max_r){Fire[i].r++;Fire[i].dt=drt[Fire[i].r/10];Fire[i].draw=true;}if(Fire[i].r>=Fire[i].max_r-1){Fire[i].draw=false;Init(i);}Fire[i].t1=Fire[i].t2;}//如果该号炮花可爆炸,根据当前爆炸半径画烟花,颜色值接近黑色的不输出。

相关文档
最新文档