C語言for循環嵌套for循環在實踐題目中應用詳解
做題前先學招
for循環嵌套個for循環,就是以下類型
for(…)——>" for(1) "
{
for(…)——>" for(2) "
{
}
}
#include <stdio.h> int main() { int i=0; int j=0; for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("haha\n"); } } return 0; }
特別註意:for循環嵌套個for循環這類題,如果倆個for循環同時看,對於初學的同學來說很容易弄混淆,從而看不懂代碼含義。有個好的方法是:先不看最外邊的for循環,先看內部的for循環,很便於理解,先看 for(2) 後再看 for(1)。//就這一句話,但是真的好用 上題上題:
第一題
解答:
代碼:
//題目一:求 1!+2!+3!+...+9!+10! #include <stdio.h> int main() { int i = 0; int j = 0; int sum = 1; int ret = 0; for (i = 1; i <= 10; i++) { sum = 1; for (j = 1; j <= i; j++) { sum *= j; } ret += sum; } printf("ret=%d\n", ret); return 0; }
第二題
解答:
代碼:
//題目二:字符金字塔 int main() { char ch = 0; scanf("%c", &ch); int i = 0; int j = 0; for (i = 0; i < 5; i++) { for (j = 0; j <= 5 - i; j++) { printf(" "); } for (j = 0; j <= i; j++) { printf("%c ", ch); } printf("\n"); } return 0; }
第三題
解答:
代碼:
//題目三:打印100~200之間的素數 //備註:素數是隻能被1和其本身整除的數 int main() { int i = 0; int j = 0; for (i = 100; i <= 200; i++) { for (j = 2; j <= i - 1; j++) { if (i % j == 0) break; } if (i == j) printf("%d ", j); } return 0; }
第四題
解答:
代碼:
//題目四:打印乘法口訣表 int main() { int n = 0; scanf("%d", &n); int i = 0; int j = 0; for (i = 1; i <= n; i++) { for (j = 1; j <= i; j++) { printf("%d*%d=%-2d ", i, j, i * j); } printf("\n"); } return 0; }
第五題
解答:
代碼:
//題目五:冒泡排序 //備註:將無序的數組按順序排列 int main() { int arr[] = { 2,4,6,8,10,1,3,5,7,9 }; int sz = sizeof(arr) / sizeof(arr[0]); int i = 0; int j = 0; for (i = 0; i < sz - 1; i++) { for (j = 0; j < sz - 1 - i; j++) { if (arr[j] > arr[j + 1]) { int tmp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = tmp; } } } for (i = 0; i < 5; i++) { printf("%d ", arr[i]); } return 0; }
第六題
解答:
代碼:
//題目六:打印三子棋的棋盤 // | | // ---|---|--- // | | // ---|---|--- // | | #define ROW 3 #define COL 3 int main() { char board[ROW][COL] = { 0 }; int i = 0; int j = 0; for (i = 0; i < ROW; i++) { for (j = 0; j < COL; j++) { board[i][j] = ' '; } } for (i = 0; i < ROW; i++) { for (j = 0; j < COL; j++) { printf(" %c ", board[i][j]); if (j < COL-1) { printf("|"); } } printf("\n"); if (i < ROW-1) { for (j = 0; j < COL; j++) { printf("---"); if (j < COL-1) { printf("|"); } } printf("\n"); } } return 0; }
到此這篇關於C語言for循環嵌套for循環在實踐題目中應用詳解的文章就介紹到這瞭,更多相關C語言for循環內容請搜索LevelAH以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持LevelAH!