链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
题目描述
输出双层金字塔。
输入描述:
多个测试数据。每个测试数据输入一个整数n( 2 <= n <= 100000)
输出描述:
输出双层金字塔
代码如下:
#include<stdio.h>
int main(){
int n;
while(scanf("%d",&n)!=EOF){
for(int i=0;i<n-1;i++){
for(int k=0;k<n-i-1;k++){
printf(" ");
}
for(int m=0;m<1+i*2;m++){
printf("*");
}
putchar('\n');
}
for(int j=0;j<n*2-1;j++){
printf("*");
}
putchar('\n');
for(int i=n-1;i>0;i--){
for(int k=n-i-1;k>=0;k--){
printf(" ");
}
for(int m=(i-1)*2+1;m>0;m--){
printf("*");
}
putchar('\n');
}
}
return 0;
}
运行结果:
心得:
关于循环的一道比较经典的题,可以做来练练手,不过我一个小白差点被自己的for循环绕晕了哈哈哈,还是要细心。我是把这个金字塔分类成3部分的,分别是上中下,这样比较直观一点,而且只要写出了上的部分,下的部分复制粘贴改改for循环的条件就好了,有更好的意见也可以说说,大家一起进步哈哈哈。