c++程式設計題2
使用雙重迴圈輸出下圖:
* *** ***** *******
思路一,每一行(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;
}