C语言for循环
珠江上 人气:0做题前先学招
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; }
加载全部内容