第一道面试题 第一道困难题解答记录
输入一个奇数 n,输出一个由 * 构成的 n 阶实心菱形。
输入格式
一个奇数 n。
输出格式
输出一个由 * 构成的 n 阶实心菱形。
具体格式参照输出样例。
数据范围
1≤n≤99
输入样例:
5
输出样例:
*
***
*****
***
*
我的解法:总数减去这一行的星号个数除以2,就是前面所需的空格个数
两边都是从1个开始减,没向中间走一行每一行的个数就加(减)2
中间这一行的个数就是行数
代码如下
#include <cstdio>
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a;
cin>>a;
int tmp=1;
while(tmp<=a-2) {
int t=0;
while(t<(a-tmp)/2){
cout<<" ";
t++;
}
for (int i = 1 ; i <= tmp ; i++) {
cout <<"*";
}
cout<<endl;
tmp+=2;
}
///通过只使用for循环的方式,我们可以发现我们使用for循环循环更加清晰,
//结构更加明确,大多数的需要while好几行的题,我们用for循环一句就可以实现
for(int i=0;i<a;i++)cout<<"*";
cout<<endl;
for(int i=a-2;i>0;i-=2){
for(int t=0;t<(a-i)/2;t++)cout<<' ';
for(int t=0;t<i;t++)cout<<'*';
cout<<endl;
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)