1036 和奥巴马一起学编程

题目链接:和奥巴马一起学编程

注意点:

  • 实话说这一题我看了好几遍,主要考察循环知识,类似于打印一个由星花和空格组成的菱形
  • 分部分打印就好,找出每一部分的规则,本题分为三部分:前后两部分都是n行字符,中间部分两层循环
  • 四舍五入的另一种表示,还挺巧妙(如果n是偶数 t = n/2;如果n是奇数 t = n/2 +1)

题解:

#include
using namespace std;

int main()
{
	char c ;
	int n ;
	cin >> n >> c;
	
	int t=n/2+n%2;
	//上半部分 
	for(int i=1;i<=n;i++)
	cout << c;
	cout << endl;
	//一个字母 + n-2个空格 +一个字母
	//一共t-2行 
	for(int i=1;i<=t-2;i++)//1,2,3
	{
		cout << c;
		for(int j=1;j<=n-2;j++)//1,2,3,4,5,6,7,8,9
		cout << " ";
		cout << c << endl;
	
	}
	//下半部分 
	for(int i=1;i<=n;i++)
	cout << c;
	
	return 0;
}

 

你可能感兴趣的:(PAT,15)