江苏省XY中等专业学校2021-2022-2教案 编号:
备课组别 | 计算机 | 上课 日期 | 主备 教师 | 授课 教师 | ||||
课题 | 专题九(143) | |||||||
教学 目标 | 掌握查亲密数对的方法 | |||||||
掌握素数的扩展应用 | ||||||||
学会字符串相关处理 | ||||||||
重点 | 学会字符串相关处理 | |||||||
难点 | 学会字符串相关处理 | |||||||
教法 | 讲授法、案例教学法、讨论法 | |||||||
教学设备 | 黑板 计算机 网络机房 | |||||||
教学 c++求字符串长度环节 | 教学活动内容及组织过程 | 个案补充 | ||||||
教 学 内 容 | 程序填空 共1题 (共计20分) 第1题 (20.0分) 题号:79 难度:中 第1章 /*-------------------------------------------- 题目:求200-2000之内的亲密数对。“亲密数对”是指两个整数A和B,A的所有因子(包含1但不包含其本身)之和等于B,且B的所有因子(包含1但不包含其本身)之和等于A。 程序运行结果为: [220,284] [1184,1210] ------------------------------------------------- 注意:除要求填空的位置之外,请勿改动程序中的其他部分。 --------------------------------------------------*/ #include<stdio.h> #include<string.h> #include<math.h> #include<ctype.h> #include<stdlib.h> int fun(int n) { int i,sum=0; for(i=1;i<=n/2;i++) { /************************SPACE***********************/ if(【?】) { sum+=i; } } return sum; } int main() { int a,b,n; for(a=200;a<=2000;a++) { b=fun(a); /************************SPACE************************/ if(【?】&&a<b) printf("[%d,%d]\n",a,b); } return 0; } 程序改错 共1题 (共计30分) 第1题 (30.0分) 题号:81 难度:中 第1章 /*------------------------- 题目:查介于M与N(0<M<N<32768)之间,且满足下列条件的所有整数: 1.该数中有且仅有两个相同的数字位; 2.该数是素数。 测试数据:M=800,N=900 运行结果: 811 877 881 883 887 899 -------------------------------------------------- 注意:不得增行或删行,也不得更改程序的结构。 ----------------------------------------------*/ #include<stdio.h> #include<string.h> #include<math.h> #include<ctype.h> #include<stdlib.h> #define M 800 #define N 900 int validate(int n) { int i,j,k=0,num[5]= {0},size=0; do { num[size]=n%10; n=n/10; size++; /***********FOUND***********/ }while(n<0); for(i=0; i<size-1; i++) for(j=i+1; j<size; j++) if(num[i]==num[j]) k=k+1; /***********FOUND***********/ if(k>=1) return 1; else return 0; } int prime(int n) { int i; for(i=2; i<(int)sqrt(n); i++) if(n%i==0) return 0; return 1; } int main() { int i,count=0,n1=0,n2=0; for(i=M; i<=N; i++) { /***********FOUND***********/ if(validate(M)&&prime(N)) { count++; printf("%6d",i); if(count%8==0) printf("\n"); } } } 程序设计 共1题 (共计30分) 第1题 (30.0分) 题号:80 难度:中 第1章 /*------------------------- 题目:数组ss中存储了若干字符串,先在每个字符串最前面插入该字符串的长度,然后删除ss中长度超过原始字符串长度平均值的字符串。 例如:数组ss原始值为: "Manufacturing","History","Trade","Construction","Administrative", "Policies","Spotrs","Infrastruct","EconnomyOA","DeliciousFoods" 处理后结果: 5Trade 6Spotrs 7History 8Policies 编写函数: 1.函数int insert(char ss[][M])将数组ss中每个字符串最前面插入该字符串的长度,函数返回所有原始字符串的平均长度(平均长度取整)。 2.函数int delstr(char ss[][M],int k)先将数组ss中字符串长度大于k的字符串删除,然后将剩余字符串按长度升序排序,函数返回剩余字符串的个数。 课后作业 | |||||||
板 书 设 计 | 考点分析 一、查亲密数对 二、素数的扩展应用 | |||||||
教后札记 | ||||||||
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论