| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 528 人关注过本帖
标题:我是一个新手有个问题请教一下大家
只看楼主 加入收藏
chenxinsong
Rank: 1
等 级:新手上路
帖 子:24
专家分:3
注 册:2011-3-10
结帖率:70%
收藏
已结贴  问题点数:16 回复次数:9 
我是一个新手有个问题请教一下大家
请问用C语言编程怎样才能编一个爱心
搜索更多相关主题的帖子: C语言 爱心 
2011-03-16 19:56
新手写程序
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:62
专家分:120
注 册:2011-3-5
收藏
得分:1 
不懂
2011-03-16 20:03
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:1 
不知道,你就一行一行地printf吧!

   唯实惟新 至诚致志
2011-03-16 20:04
minand
Rank: 2
等 级:论坛游民
帖 子:71
专家分:89
注 册:2011-3-16
收藏
得分:1 
那个是图片的吧 不懂
2011-03-16 22:55
mandown1991
Rank: 4
等 级:业余侠客
帖 子:262
专家分:252
注 册:2011-3-2
收藏
得分:1 
应该是用printf()吧!
2011-03-17 10:05
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:1 
以下是引用qq1023569223在2011-3-16 20:04:53的发言:

不知道,你就一行一行地printf吧!

嗯,同意, 显示爱心就不要嫌麻烦。

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-17 10:08
njkido
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:224
专家分:1184
注 册:2011-3-8
收藏
得分:1 
google 带变色的

心形线(Cardioid)
直角坐标方程:(x^2+y^2-2*a*x)^2=4*a^2*(x^2+y^2)
极坐标方程:r=2*a*(1+cos(theta))
参数方程:x=a*(2*cos(t)-cos(2*t)),y=a*(2*sin(t)-sin(2*t))

程序代码:
#define I 20    //爱心的上半部分两个小半圆的半径
#define R 340   //爱心的下半部分圆弧曲线半径

int main() 
{
    FILE *fp;

    if((fp=fopen("爱心.txt","w"))==NULL)
    {
        printf("File open error!\n");
        exit(0);
    }

    int i,j,e; 
    int a; 
    //爱心的上半部分 为两个实心半圆
    for(i=1,a=I;i<I/2;i++,a--)
    { 
        for(j=(int) (   I-sqrt((double)(I*I-(a-i)*(a-i)))   );j>0;j--) 
        {
            printf(" "); 
            fprintf(fp,"%s"," ");
        }
        for(e=1;e<=2*sqrt((double)(I*I-(a-i)*(a-i)));e++) 
        {
            printf("\3");
            fprintf(fp,"%s","*");
        }
        for(j=(int) (   2*( I-sqrt((double)(I*I-(a-i)*(a-i))) )   );j>0;j--) 
        {
            printf(" ");
            fprintf(fp,"%s"," ");
        }
        for(e=1;e<=2*sqrt( (double) (I*I-(a-i)*(a-i)) );e++) 
        {
            printf("\3");
            fprintf(fp,"%s","*");
        }
        printf("\n");
        fprintf(fp,"%s","\n");
    } 
    //爱心的中间一行 可以打印一些标记
    for(i=1;i<80;i++)
    {
        if(i==25)
        {
            printf("    I LOVE YOU!O(∩_∩)O~    ");
            fprintf(fp,"%s","    I LOVE YOU!O(∩_∩)O~    ");
            i+=30;
        }
        printf("\3");
        fprintf(fp,"%s","*");
    }
    printf("\n"); 
    fprintf(fp,"%s","\n");

    //爱心的下半部分 以R为半径的左右两条圆弧曲线 R设置为比较大
    for(i=1;i<=R/2;i++)
    { 
        if(i%2||i%3)continue;//因为R很大 两条曲线应该删去中间的一些点 这样就会更像爱心
        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*I) );e++) 
        {
            printf("\3");
            fprintf(fp,"%s","*");
        }
        printf("\n"); 
        fprintf(fp,"%s","\n");
    } 
    //以下是以time做时间变量来控制变色
    //懒得查时间变量函数 故用这种超耗cpu的算法代替
    //最好不要这么写 以下代码仅供娱乐
    long time; 
    for(; ;) 
    { 
        system("color a");
        for(time=0;time<99999999;time++); 
        system("color b");
        for(time=0;time<99999999;time++);
        system("color c");
        for(time=0;time<99999999;time++);
        system("color d");
        for(time=0;time<99999999;time++);
        system("color e");
        for(time=0;time<99999999;time++);
        system("color f");
        for(time=0;time<99999999;time++);
        system("color 0");
        for(time=0;time<99999999;time++);
        system("color 1");
        for(time=0;time<99999999;time++);
        system("color 2");
        for(time=0;time<99999999;time++);
        system("color 3");
        for(time=0;time<99999999;time++);
        system("color 4");
        for(time=0;time<99999999;time++);
        system("color 5");
        for(time=0;time<99999999;time++);
        system("color 6");
        for(time=0;time<99999999;time++);
        system("color 7");
        for(time=0;time<99999999;time++);
        system("color 8");
        for(time=0;time<99999999;time++);
        system("color 9");
        for(time=0;time<99999999;time++);
        system("color ab");
        for(time=0;time<99999999;time++);
        system("color ac");
        for(time=0;time<99999999;time++);
        system("color ad");
        for(time=0;time<99999999;time++);
        system("color ae");
        for(time=0;time<99999999;time++);
        system("color af");
        for(time=0;time<99999999;time++);
    } 
    return 0;
}
2011-03-17 10:17
king_kong
Rank: 2
来 自:山东
等 级:论坛游民
帖 子:71
专家分:55
注 册:2010-9-9
收藏
得分:1 
用图形就可以编出来  
2011-03-17 16:37
zhongyong123
Rank: 2
等 级:论坛游民
帖 子:45
专家分:15
注 册:2008-12-16
收藏
得分:1 
呵呵,路过,各显神通啊。printf()打印吧。
2011-03-17 16:39
烟般人生
Rank: 1
等 级:新手上路
帖 子:11
专家分:8
注 册:2011-4-3
收藏
得分:0 
唉,七楼的那么麻烦,还不如直接用printf()打印呢,
2011-04-03 16:04
快速回复:我是一个新手有个问题请教一下大家
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022194 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved