c语言 如下 输出一个心形,然后想在心形内部加入汉字,如何修改? #includ

2025-04-04 15:46:19
推荐回答(1个)
回答1:

##C++
#include 
#include 
using namespace std;
int main()
{
    double x, y,
    size=10;
    char ch='*';
    string message("fateland");
    int print_line = 4;
    if(message.length() % 2 != 0) message += " ";
    for(x = 0; x < size -4; x++)
    {
        for(y = 0; y < 4 * size; y++)
        {
            double dist1 = sqrt( pow(x - size,2) + pow(y - size,2) ) -0.5;
            double dist2 = sqrt( pow(x - size,2) + pow(y - 3 * size,2) ) -0.5;
            if (dist1 < size + 0.5 || dist2 < size + 0.5 ) {
                cout << ch;
            }
            else cout << " ";
        }
        cout << endl;
    }
    //cout << "ddddddd" << endl;
    for(x = 1; x < 2 * size; x++)
    {
        for(y = 0; y < x; y++)
        {
            cout << " ";
        }
        for(y = 0; y < 4 * size - 2 * x; y++)
        {
            if (x >= print_line - 1 && x <= print_line + 1){
                int idx = y - (4 * size - 2 * x - message.length()) / 2;
                if(idx < message.length() && idx >= 0) {
                    if (x == print_line)
                    {
                        cout<                    }
                    else
                    {
                        cout << " ";
                    }
                }
                else
                {
                    cout << ch;
                }
            }
            else cout << ch;
        }
        cout<    }
    return 0;
}