问题标题: 一个有趣的问题

0
0
已解决
被禁言 张欣悦
张欣悦
新手光能
新手光能

 

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    char k;
    cin>>n>>k;
    for(int i=1;i<=n;i++){
        for (int j=1;j<=n-i;j++)cout<<" ";
        for (int j=1;j<=i;j++)cout<<k;
        for (int j=i;j>=1;j--)cout<<k;
        cout<<endl;
}
return 0;
}

我输入3 帅

它应该输出

        帅

    帅 帅 帅

帅 帅 帅 帅 帅

他却输出:

       怂

   怂 怂 怂

怂 怂 怂 怂 怂

为啥捏?

感觉被电脑骂怂……


0
已采纳
李子杰
李子杰
资深光能
资深光能

1.把char改成string,因为中文字体占两个字符宽度

2.把第10行删了,并在第4行后边多定义一个d,并赋值为1

3.把第9行循环条件改为:for(int j=1;j<=d;j++)

4.在输出换行后(但不能出循环)加一条:d+=2;

这样就行了!!!

0
0
王文博
王文博
缔造者之神
缔造者之神

???????

emmmmmmmmmmmm……

0
0
我要回答