如何用C语言先输出一段文字如何再输出心形图案?

例如

#include <stdio.h>

void heart() {
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");
printf("             *   *             \n");
printf("               *               \n");
}

int main() {
heart();
return 0;   
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-22
#include<stdio.h> 
#include<math.h> 
#include<stdlib.h>
#define I 20       //爱心的上半部分两个小半圆的半径
#define R 340   //爱心的下半部分圆弧曲线半径
int main() 
{
    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(" "); 
        for(e=1;e<=2*sqrt((double)(I*I-(a-i)*(a-i)));e++) 
            printf("\3");
        for(j=(int) (   2*( I-sqrt((double)(I*I-(a-i)*(a-i))) )   );j>0;j--) 
            printf(" ");
        for(e=1;e<=2*sqrt( (double) (I*I-(a-i)*(a-i)) );e++) 
            printf("\3");
        printf("\n"); 
    } 
//爱心的中间一行 可以打印一些标记
    for(i=1;i<80;i++)
    {
        if(i==25)
     {
            printf("    I LOVE YOU!O(∩_∩)O~    ");
            i+=30;
        }
        printf("\3");
    }
    printf("\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(" "); 
        for(e=1;e<=2*( sqrt( (double)(R*R-i*i) ) - (R-2*I) );e++) 
            printf("\3");
        printf("\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;
}

 这个是别人的,我只是转。

本回答被网友采纳
第2个回答  2018-03-30

学习C语言其实并不是枯燥无味的,也有蛮多好玩的

    代码如下:
    #include <stdio.h>

    int main()
    {
    int i,j;

    printf("     ******       ******\n"
    "   **********   **********\n"
    " ************* *************\n");

    //前三排的规律性不强  所以直接显示就好了

    for(i=0;i<3;i++)//显示中间三排
    {
    for(j=0;j<29;j++)
    printf("*");
    printf("\n");
    }

    for(i=0;i<7;i++)//显示呈递减趋势规律的中间7排
    {
    for(j=0;j<2*(i+1)-1;j++)
    printf(" ");
    for(j=0;j<27-i*4;j++)
    printf("*");
    printf("\n");
    }

    for(i=0;i<14;i++)//最后一个星号*与上面的规律脱节了  所以独立显示
    printf(" ");
    printf("*\n");
    return 0;
    }

就是我用C语言写的心形图案,花样心形图案,主要是用for语句写的,有兴趣的朋友可能试下

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

本回答被网友采纳
第3个回答  2015-10-31

1、数组方式,数组heart存放由'*'组成的心形,再由printf函数显示出来。编译与执行环境:VC++ 6.0.

2、例程:

#include<stdio.h>
#define HIG 12  //心形高度
#define WID 32  //最长宽度31个'*'与末尾'\0'组成
int main()
{
    char heart[HIG][WID]={
        "        *             *",
        "      *****         *****",
        "    *********     *********",
        "  ************* *************",
        "*******************************",
        "  ***************************",
        "    ***********************",
        "      *******************",
        "        ***************",
        "          ***********",
        "            *******",
        "              ***"};
    int i;
    for(i=0;i<HIG;i++)   //逐行打印
        printf("%s\n",heart[i]);
    printf("\n");
    return 0;
}

第4个回答  2015-10-10
先用一个函数输出心形图案
然后 在main函数里面先输出一段文字,再调用那个函数就可以了