二级C语言PPT教学课件,04_循环语句嵌套及应用
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
完数 = 因子之和
例:6 = 1 + 2 + 3
16
素数
17
输出菱形
* *** ***** ******* ******* ***** *** *
18
行号 空格 星号 1 3 1 2 2 3 3 1 5 4 0 7 行号 空格 星号 1 0 7 2 1 5 3 2 3 4 3 1
空 = 4 - 行 星 = 2*行 - 1
5
a
10 9 8 7 6 5 4 3 2 1
b
10 9 8 7 6 5 4 3 2 1
乘法九九表
for (a = 1; a <= 9; a++) { for (b = 1; b <= 9; b++) printf("%d*%d=%d ", b, a, a*b); printf("\n"); } a = 1, 2, 3, ..., 9 b = 1, 2, 3, ..., 9 1*1=1 2*1=2 3*1=3 ...... 9*1=9 1*2=2 2*2=4 3*2=6 ...... 9*2=18 ...... 1*9=1 2*9=18 3*9=27 ...... 9*9=81
6
数字方阵
#define N 5 for (a = 1; a <= N; a++) { 1 1 1 1 1 for (b = 1; b 2<= N; b++) 2 2 2 2 printf("%d", 3 3 3 3 3 a); printf("\n"); 4 4 4 4 4 } 5 5 5 5 5
[2004.4.13][2011.3.14]以下合法实型常量是 A)1.2E0.5 B)3.14E C).5E-3 D)E5
24
课后题:计算π值
根据下面的公式,计算π值。
25
计算π值
根据下面的公式,计算π值。
double n = 1, v = 1, s = 0, e; scanf("%lf", &e); while (v >= e) { s += v; v *= n / (2 * n + 1); n++; } printf("%f", s * 2);
9
循环嵌套8-3
1 2 3 4 [2006.4.15]以下程序的运行结果是 5 6 7 int i, j, n = 4, t = 1; 8 9 for (i = 1; i <= n; i++) 10 { for (j = 1; j <= n-i+1; j++) { printf("%2d", t); t++; } printf("\n"); }
11
*
循环嵌套8-5
[2010.3.20]以下程序的运行结果是 int i, j, m = 1; for (i = 1; i < 3; i++) { for (j = 3; j > 0; j--) { if (i*j > 3) break; m *= i*j; } } printf("m = %d\n", m);
7
循环嵌套8-1
[2008.9.27]以下程序的运行结果是 int i, j; for (i = 3; i >= 1; i--) { for (j = 1; j <= 2; j++) printf("%d", i + j); printf("\n"); } A)234 B)432 C)23 345 543 34 45
3
for语句嵌套
for (表达式1; 表达式2; 表达式3) {
语句1
for (表达式1; 表达式2; 表达式3) {
}
语句2
语句3
}
4
for语句嵌套
for (a = 1; a <= 9; a++) { printf("%d: ", a); for (b = 1; b <= 9; b++) printf("%d,", b); printf("\n"); } 1: 1,2,3,4,5,6,7,8,9, 2: 1,2,3,4,5,6,7,8,9, … 9: 1,2,3,4,5,6,7,8,9,
Lesson 4
循环语句嵌套及应用
mtysoft@
本课内容
循环嵌套与 break 语句 九九表、完数 实型:float、double 强制类型转换
四舍五入
2
for语句的一般格式
for (表达式1; 表达式2; 表达式3) { 语句 }
例如,下面的程序计算1至100的和: for (s = 0, i = 1; i <= 100; i++) s += i;
23
实型常量
1.小数形式。如: 0.12, .12, 12., 12.0 2.指数形式。如: 12e3和12E3 都代表 12×103 注意:字母e之前必须有数字,且e后面的指数 必须为整数。 [2005.4.15]以下不合法的数值常量是 A)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0
空 = 行 - 1
星 = 9 - 2*行
圆周率
double s = 0, m = 1, v = 1/m, t = 1; while (v > 0.000001) { s = 1/1 -1/3 +1/5 -1/7 s += t*v; m += 2; m = 3, 5, 7 v = 1/m; v = 1/3 ,1/5 ,1/7 t = -t; t = -1 , +1, -1 } printf("pai = %.10f", 4 * s);
8
D)45 34 23
循环嵌套8-2
[2007.4.24]以下程序的运行结果是 for (i = 1; i < 3; i++) { for (j = i; j < 3; j++) printf("%d*%d=%d ", i, j, i*j); printf("\n"); } A)1*1=1 1*2=2 B)1*1=1 1*2=2 2*1=2 2*2=4 C)1*1=1 D)1*1=1 1*2=2 2*2=4 2*1=2 2*2=4
19
强制类型转换
格式:(数据类型说明符)(表达式) (int)(x + y) // 把x + y的结果转换为int (int)x + y // 把x的值转换为int,再加y int(x + y) // 错误 4 [2009.3.6]以下表达式的值是: (int)((double)(5/2) + 2.5) [2009.9.14]以下表达式的值是: 4.2 ((double)9/2 + 0.7) - 9%2 [2011.3.6]以下表达式的值是: 3 (int)((double)(3/2) + 0.5 + (int)1.99 * 2)
26
27
28
2345.72
2345 23.45 printf("x = %f", x); x = 23.450000
22
四舍五入3-3
int a = 45678; => 46000 a = (int)(a / 1000.0 + 0.5) * 1000; 45.678
46.178
46 46000 printf("a = %d", a); a = 46000
10
循环嵌套8-4
[2007.9.24]以下程序运行后,m的值是 int i, j, m = 55; for (i = 1; i <= 3; i++) for (j = 3; j <= i; j++) m = m % j;
1
[2009.3.20]以下程序的运行结果是 for (i = 0; i < 4; i++, i++) for (k = 1; k < 3; k++); printf("*");
20
四舍五入3-1
double x = 23.4567; => 23.46 x = (int)(x * 100 + 0.5) / 100.0; 2345.67
2346.17
2346 23.46 printf("x = %f", x); x =入3-2
double x = 23.4522; => 23.45 x = (int)(x * 100 + 0.5) / 100.0; 2345.22
12
m = 6
循环嵌套8-6
[例]以下程序运行后,s的值是 int i, j, s; for (i = 3; i >= 1; i--) { s = 0; for (j = 1; j <= i; j++) s += i * j; }
1
13
循环嵌套8-7
[2004.4.25]以下程序运行后,n的值是 int i, n = 0; for (i = 2; i < 5; i++) { do { if (i % 3) continue; n++; } while (!i); n++; }
14
4
循环嵌套8-8
[2006.4.32]以下程序运行后,x的值是 int i, j, x = 0; for (i = 0; i < 2; i++) { x++; for (j = 0; j <= 3; j++) { if (j % 2) continue; x++; } x++; }
15
8
完数