#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.0fy >= 0.0fy -= 0.001f)
if (f(x, y, z) <= 0.0f)
return y
return 0.0f}
int main() {
for (float z = 1.5fz >-1.5fz -= 0.05f) {
for (float x = -1.5fx <1.5fx += 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)])
}
else
putchar(' ')
}
putchar('\n')
}
}
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <windows.h>
char s[8]
void show1(char *a)
{
system("cls")
printf("☆☆☆★☆☆☆★☆☆☆★\n")
printf("★ ☆\n")
printf("☆ %s ☆\n", a)
printf("☆ 生日快乐 ☆\n")
printf("☆ ★\n")
printf("★☆☆☆★☆☆☆★☆☆☆\n")
Sleep(200)
}
void show2(char *a)
{
system("cls")
printf("★☆☆☆★☆☆☆★☆☆☆\n")
printf("☆ ★\n")
printf("☆ %s ☆\n", a)
printf("☆ 生日快乐 ☆\n")
printf("★ ☆\n")
printf("☆☆☆★☆☆☆★☆☆☆★\n")
Sleep(200)
}
void show3(char *a)
{
system("cls")
printf("☆★☆☆☆★☆☆☆★☆☆\n")
printf("☆ ☆\n")
printf("☆ %s ★\n", a)
printf("★ 生日快乐 ☆\n")
printf("☆ ☆\n")
printf("☆☆★☆☆☆★☆☆☆★☆\n")
Sleep(200)
}
void show4(char *a)
{
system("cls")
printf("☆☆★☆☆☆★☆☆☆★☆\n")
printf("☆ ☆\n")
printf("★ %s ☆\n", a)
printf("☆ 生日快乐 ★\n")
printf("☆ ☆\n")
printf("☆★☆☆☆★☆☆☆★☆☆\n")
Sleep(200)
}
void transit(char *a, int n)//将名字的格式转成4个字。便于排版
{
int i, t
memset(s, ' ', sizeof(s))
switch(n)
{
case 2: t = 3break
case 4: t = 2break
case 6: t = 1break
}
for(i=0 i<n i++)
{
s[t+i]=a[i]
}
}
int main()
{
int t
char name[10]
printf("请输入生日者得姓名(汉字,不要超过3个字):\n")
gets(name)
t = strlen(name)
transit(name, t)
while(1)
{
show1(s)
show2(s)
show3(s)
show4(s)
}
return 0
}
12345678910111213141516171819202122232425262728#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() { 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)]) } else putchar(' ') } putchar('\n') }}
如何用c语言画出生日快乐?
用qt做一个界面,界面里面只有一张动态图,有一个菜单可以打开文件选择动态图,用qt就可以做出来,关于音乐,用system函数或者linux下的函数,调用程序就可以把音乐也播放出来。
应该是要用两个线程显示动态图不知道是直接显示还是要一直刷新,所以可能是两个线程。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)