PTA |1036 跟奥巴马一起编程 分数 15

343 阅读1分钟

PTA | 程序设计类实验辅助教学平台 (pintia.cn)

解题思路:这就是简单的打印图形,但是有一点要注意,那就是奇偶数问题。

       1.当n为偶数时,需要打印 n / 2 行,每行 n 个字符;

       2.当n为奇数时,题目说四舍五入取整,也就是说需要打印(n+1)/ 2 行,每行n个字符。

#include <iostream>
using namespace std;
int main() {
	int N,temp;
	char C;
	cin>>N>>C;
	if (N%2 ==1)  temp=N/2+1;  //n为奇数
	else temp=N/2;     //n为偶数

    
for(int i=0; i<temp; i++)//行
{  
	if(i==0 || i==temp-1)  //只要第一行和最后一行全部打印满
        {
          for(int j=0; j<N; j++) cout<<C;
	}
        else 
        {   //其他行都只第一位和最后一位输出字符,剩下的位全部输出空格
            cout<<C;  
            for(int j=0; j<N-2; j++) cout<<" ";
            cout<<C<<endl;
	}
	 if(i==0) cout<<endl;  //第一行打印完之后要换行打印
   }
	return 0;
}