请编写程序,找出一段给定文字中出现最频繁的那个英文字母。
输入格式:
输入在一行中给出正方形边长 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;
}
结果: