PAT乙:1036 跟奥巴马一起编程 (15 分)

请编写程序,找出一段给定文字中出现最频繁的那个英文字母。

输入格式:

输入在一行中给出正方形边长 N(3≤N≤20)和组成正方形边的某种字符 C,间隔一个空格。

输出格式:

输出由给定字符 C 画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的 50%(四舍五入取整)。

输入样例:

10 a
输出样例:

aaaaaaaaaa
a                  a
a                  a
a                  a
aaaaaaaaaa

思路:
第一行和最后一行直接输出,中间的行数用二重循环
四舍五入函数:round()

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
	
	int main()
	{
    
    
	int row=0,list=0;
	char c;
	cin>>list>>c;
	row=round(list*0.5); 				 //行数是列数的50%,四舍五入 
	
	for(int i=1;i<=list;i++)
	{
    
    
		printf("%c",c);
	}
	  cout<<endl;  //第一行输出以后就换行
	   
	    //中间的行
	for(int i=1;i<=row-2;i++) //控制行数,去除首尾,那么剩下row-2行 
	 {
    
     
		  for(int j=1;j<=list;j++)  //list列 
		  {
    
    
		    if(j==1) printf("%c",c);
		    else if(j==list) printf("%c\n",c);
		    else printf(" ");
		  } 
		
	 }
	 
	 //最后一行
	 	for(int i=1;i<=list;i++)
	{
    
    
		printf("%c",c);
	}
	 	  cout<<endl;  
	}

结果:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/SKMIT/article/details/113814310