1 2-4-1 有两个瓶子 A和B,分别盛放醋和酱油,要求将它们互换(即 A瓶原来盛醋,现在改盛酱油, B瓶则相反)。 1、分析问题: 已给问题为 A醋B酱油,要求结果是 A酱油 B醋。要实****两个瓶子内容的互换,直接交换显然不行,必须先把其中一个瓶子的内容倒出,因此想到用一个空瓶 C做过度。先将 A瓶的醋倒在空瓶 C中,再将 B瓶的酱油倒入 A瓶,最后把C瓶中的醋倒进 B瓶中。这样便实现了 AB 两个瓶子中内容的交换。 2、建立模型 A 醋 B 酱油找一个空瓶 C, A 醋倒入 C中, B酱油倒入 A中, C醋倒入 B中。 A 酱油 B 醋 2 3、模型转化为算法: 算法: AB 瓶交换 Begin A瓶醋, B瓶酱油; 建立一个空瓶 C ; C瓶←A瓶醋; A瓶←B瓶酱油; B瓶←C瓶醋; 结果: A瓶酱油, B瓶醋; End 3 2-4-2 依次将 10 个数输入,要求将其中最大的数输出。 1、分析问题: 输入数据: 10 个数 Ai(i=1,2 … 10) 。输出数据:最大的数 Ax 。基本思想:最初输入的 2个数比较大小,将大的数留下,与后面输入的数比较, 每次留下最大的那个,最后剩下的就是 10 个里面最大的数了。 2、建立模型: 依次输入 10 个数 Ai( i=1,2 … 10 ) 比较 A1 与 A2 的大小, 选出更大的 Ax=MAX(A1,A2) Ax 依次与 Ai(i=3,4 … 10) 比较, 更大的赋值给 Ax=MAX(Ax,Ai) 输出 Ax , 即为 10 个数中最大的。 4 3、模型转化为算法算法: 10 个数中选最大 Begin 输入 Ai(i=1,2 … 10) 建立一个 Ax ; Ax = A1 ; 循环: i=2,3 … 10 Ax = max(Ax,Ai) ; i=10 循环结束; 输出 Ax ; End 4、算法转化为程序 Void max( A[ ], n ) // n=10 { int Ax = A[0] ; int i = 0 ; for( i=2 ; i<n ; i++) { if( A[i] > Ax) Ax = A[i] ; } prin
c作业 来自淘豆网www.taodocs.com转载请标明出处.