解題思路:這個問題的演算法很簡單,就是兩個for迴圈的巢狀,三角形的樣式就是多了一些空格。
長方形原始碼演示:
#include<stdio.h>//標頭檔案 int main()//主函式入口 { int i,j; //定義變數 for(i=1;i<=9;i++)//外層for迴圈控制行 { for(j=1;j<=9;j++)//內層for迴圈控制列 { printf("%d*%d=%2d\t", i, j, i*j);// %4d 控制寬度為兩個字元,且右對齊 } printf("\n");//換行 } return 0;//函式返回值為0 }
編譯執行結果如下:
右三角原始碼演示:
#include<stdio.h>//標頭檔案 int main()//主函式入口 { int i,j;//定義變數 for(i=1;i<=9;i++)//外層for迴圈控制行 { for(j=1;j<=9;j++)//內層for迴圈控制列 { if(j<i)//列印空格 { printf(" "); } else { printf("%d*%d=%2d ",i,j,i*j);//輸出結果,%2d 控制寬度為兩個字元,且右對齊 } } printf("\n");//換行 } return 0;//函式返回值為0 }
編譯執行結果如下:
左三角原始碼演示:
#include<stdio.h>//標頭檔案 int main()//主函式入口 { int i,j;//定義變數 for(i=1;i<=9;i++)//外層for迴圈控制行 { for(j=1;j<=i;j++)//內層for迴圈控制列 { printf("%d*%d=%2d ",i,j,i*j);//輸出結果,%2d控制寬度為兩個字元,且向右對齊 } printf("\n");//換行 } return 0;//函式返回值為0 }
編譯執行結果如下:
最新評論