金字塔问题
打印金字塔
Description
请编写程序输出金字塔图形。
Input
多个测试数据。每个测试数据输入一个整数n(1 <= n <= 9)
Output
输出n层金字塔。
Sample Input
1
3
Sample Output
*
*
***
*****
HINT
用双重循环做,外循环代表行数,第一个内循环输出空格,第二个内循环输出*
for(;;)
{
for(;;)
{
}//输出空格
for(;;)
{
}//输出*
}//外循环
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int n;
int i,j;
while (scanf("%d",&n)!=EOF&&n>=1&&n<=9){
for(i=1;i<=n;i++){
for(j=1;j<=n-i;j++){
printf(" ");
}
for(j=i;j<=3*i-2;j++){
printf("*");
}
printf("\n");
}
}
return 0;
}
双层金字塔
Description
输出双层金字塔。
Input
多个测试数据。每个测试数据输入一个整数n( 2 <= n <= 9)
Output
输出双层金字塔。
Sample Input
2
5
Sample Output
*
***
*
*
***
*****
*******
*********
*******
*****
***
*
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int n;
int i,j;
while (scanf("%d",&n)!=EOF&&n>=2&&n<=9){
for(i=1;i<=2*n-1;i++){
if(i<=n){
for(j=1;j<=n-i;j++){
printf(" ");
}
for(j=i;j<=3*i-2;j++){
printf("*");
}
printf("\n");
}else{
for(j=1;j<=i-n;j++){
printf(" ");
}
for(j=1;j<=4*n-2*i-1;j++){
printf("*");
}
printf("\n");
}
}
}
return 0;
}