PTA题目:字符菱形

    科技2022-07-21  129

    PTA题目:字符菱形

    根据读入的字符和边长,勾画字符菱形。

    输入格式: 输入数据含有若干组的数据,每组数据包括一个可见字符c和一个整数n(1≤n≤30)。 以键盘输入^Z或遇到文件结束符时结束数据输入。

    输出格式: 输出以c为填充字符,边长为n的菱形,每个菱形之后都输出一个换行符。

    输入样例: 在这里给出一组输入。例如:

    A 5 B 3 输出样例: 在这里给出相应的输出。例如:

    A AAA AAAAA AAAAAAA AAAAAAAAA AAAAAAA AAAAA AAA A B BBB BBBBB BBB B

    提示:建议使用c++的cin进行数据输入。

    下面是我写的代码:

    #include<bits/stdc++.h> using namespace std; int main() { int i,j,k,a,n; char c; while(cin >> c >> n) { k=n; a=1; for(j=0;j<n;j++)//打印次数控制 { for(i=0;i<k-1;i++)//打印左空格 { cout << ' '; } for(i=1;i<=2*a-1;i++)//打印字符 { cout << c; } a++; cout <<endl; k--; } k=n-1; a=1; for(j=0;j<n-1;j++)//打印次数控制,比上面少一行,故n-1 { for(i=1;i<=a;i++)//打印空格 { cout << ' '; } for(i=1;i<=2*k-1;i++)//打印字符 { cout << c; } a++; k--; cout <<endl; } } }

    运行结果如下:

    分析:

    本题主要是观察字符的规律,当然字符的规律是很容易观察出来的,需要注意的是打印空格的时候,打印字符左边的空格就可以了,右边的就不用对称打印了,否则PTA上的编译器会报错(大概是输出格式不正确),这一点需要注意。

    Processed: 0.012, SQL: 8