使用双重循环输出下图:
* *** ***** *******
思路一,每一行(i)先循环输出空格,再循环输出*号:
#include <stdio.h>
int main()
{
int i, j, k;
for(i=1; i<5; i++)
{
for( j=i ; j<5 ; j++ )
{
printf(" "); //输出空格
}
for( k=0 ; k<2*i-1 ; k++ )
{
printf("*"); //每行输出的*号
}
printf("\n"); //每次循环换行
}
return 0;
}
思路二,观察题目发现空格出现在行(i)与列(i)有关系:j+i<=4和j-i>=4的地方,故得代码如下:
#include "stdafx.h"
#include <stdio.h>
int main()
{
int i, j;
for(i=1; i<5; i++)
{
for( j=1 ; j<8 ; j++ )
{
if(j+i<=4||j-i>=4){
printf(" "); //输出“ ”
}else{
printf("*"); //输出“*”
}
}
printf("\n"); //每次循环换行
}
return 0;
}