习题课-2
更新时间:2024-03-09 02:07:01 阅读量: 综合文库 文档下载
- 试题讲解课听课记录怎么写推荐度:
- 相关推荐
习题课2 2010-11-19
程序测试2-2
编写一个加密程序。输入一个6位整数的明码,按以下方法加密:首先将每位数字替换成它与7相加之和再用10求模的结果;然后逆置;输出密码。再编写程序,把这个密码还原成明码。若输入错误,则显示错误信息后退出程序。 //软件2班庞博-加密解密程序 #include
int encipher(int t)//函数一:加密 { int i,m,a,b; for(i=0,a=100000,b=0;i<6;i++) { m=(t+7); b=m*a+b; a=a/10; t=t/10;
} return b; }
int exemption(int x)//函数二:解密 { int i,n,a,b; for(i=0,a=100000,b=0;i<6; i++) { if( x<7) n=x+10-7; else n=(x-7); b=a*n+b; a=a/10; x=x/10; }
return b; }
int main()//主函数 { int a,b,c; cout<<\请输入六位整数:\; cin>>a; if(a<100000||a>999999) { cout<<\< } b=encipher(a); c=exemption(b); cout<<\密码是:\< } 问题: (1)调用pow函数会降低运行效率 {for (i=5;i>=0;i--) b+=(((int) (a/pow(10,i))+7))*(int)pow(10,(5-i)); } (2)在循环结束后输出效率更高 for(i=6;i>=1;i--) {c=c*10; b=((a)+7); c=c+b; a=a/10; //cout< cout< (3)输入明码“000000”0一类的,但是在我的程序中没有办法对这种数字比较大小进行判断。 (4)输入明码“333333”,密码会出现0,而不是000000,或者是输入明码777733,会输出4444,而不是004444,为了在不同情况下补齐到六位又该怎样设计比较好? 程序测试3-1 1、编写一个程序,测试3个函数,它们都能够把main函数中的变量count的值增至3倍。这3个函数说明如下: (a)tripleByValue函数通过值传递count的一份副本,把值增至3倍并返回这一结果。 (b)tripleByReference函数通过引用参数传递count,用别名(即引用参数)把count原来的值增至3倍。 (c)tripleByPointer函数通过指针参数传递count的地址,用间址方式把count原来的值增至3倍。 #include double tripleByValue( double x ) { return x * 3; //传值参数不能修改实参的值 } double tripleByReference( double &x ) { x = x * 3; //指针参数通过间址修改实参的值 return x; } double tripleByPointer( double *x ) { *x = *x * 3; //引用参数通过别名修改实参的值 return *x; } int main() { double count; cout<<\; cin>>count; count=tripleByValue( count ); //通过函数返回值修改count的值 cout<<\< tripleByReference( count ); //也可以count=tripleByReference(count) cout<<\< tripleByPointer( &count ); //也可以count=tripleByPointer(&count) cout<<\< 问题: (1)求值函数应该用return返回计算结果值,不应在函数内输出求值结果 void tripleByValue (double x) { x=x*3; cout< void tripleByReference (double &x) { x=x*3; cout< void tripleByPointer (double *x) { *x=*x*3; cout<<*x; } (2)引用参数和指针参数的应用。引用参数和指针参数都可以通过形参读/写实参。 2、已知勒让德多项式为 1??pn(x)??x?((2n?1)p(x)?(n?1)p(x))/nn?1n?2?n?0n?1 n?1编一程序,定义递归函数求 double poly( double &x, int n ); pn(x)的值。主函数从键盘上输入x和n的值, 调用poly函数测试。 //计科()-王洁锋 #include double poly( double &, int ); int main() { int n; double x,p; cout<<\; cin>>n; cout<<\; cin>>x; p=poly(x,n); cout< double poly( double &x, int n ) { if (n==0) return 1; else { if (n==1) return x; else return ( (2*n-1) * poly( x, n-1 ) - (n-1) * poly( x, n-2 ) ) / n; } } 问题: (1)为什么x用引用参数? (2)warning C4715: “poly”: 不是所有的控件路径都返回值 double poly(double &x,int n) { if(n==0) return 1.0; if(n==1) return x; if(n>1) return ((2*n-1)*poly(x,(n-1))-(n-1)*poly(x,(n-2)))/n; } //如果条件都不成立怎么办? (3)表达式计算: return ((2*n-1)*poly(x,n-1)-(n-1)*poly(x,n-2)/n); return (2*n-1)*poly(x,n-1)-(n-1)*poly(x,n-2)/n; if(n==0) return 0; 指出以下程序中的错误: double poly(double &x,int n) { if(n=0)return 0; else if(n=1)return x; else return(((2*n-1)*poly(double&x,int(n-1))-(n-1)*poly(double&x,int(n-2)))/n); } 1 “==”与“=” ○2 return 1 ○ 3 形参与实参的形式 ○函数原型 函数调用 4 表达式书写 ○ double poly(double &x,int n); poly( double &x, int(n-1) ) 程序测试4-1 本程序的main函数调用RandAry函数,生成20个1~20之间的随机数;调用OutAll函数显示生成的随机数序列;调用OutUnlike函数,删除生成序列中的重复数值,仅显示序列中的不同数值。显示数据不改变原来的相对顺序。 #include void RandAry( int ary[], int n, int min, int max ); //生成随机数序列 void OutAll( int ary[], int n ); //输出数组全部元素 void OutUnlike( int ary[], int n ); //输出数组中不相同元素 int main() { const int N=20; int ary[N]; cout<<\生成20个1~20之间的整数:\\n\; RandAry(ary, N, 1, 20); //生成N个1~20之间的随机整数放在数组ary中 OutAll(ary,N); //输出数组全部原始数据 cout<<\输出不相同数据序列:\\n\; OutUnlike(ary,N); //输出不相同的数据,不改变原来的相对顺序 }
正在阅读:
习题课-203-09
浅谈企业面试的问题03-11
赏桂花作文350字07-07
健康歌串词02-17
五年级口算训练题02-06
最好的奖赏作文600字06-19
2014北京旅游手册05-09
团队激励,论文12-10
十三五重点项目-丁钠黑药项目资金申请报告03-20
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 习题
- 四年级英语下册Unit11UncleJacksfarm第2课时教案北师大版一起
- Access基础操作题错题本(天一等考通版)
- 四年级上100道简便运算脱式计算
- 国庆长假七年级数学专题讲座―― 4.有理数的乘除法
- mba-mpacc联考论说文写作素材1
- 2018高考模拟卷作文题精选精析
- 基于资源配置的施工阶段工程造价优化模型
- 首医在职研文献检索考试题库
- 计算机网络基础(B答案)
- 英语二五套模拟预测题个人整理打印版
- 物理复习课中的一点心得
- 重庆交通大学教学周历表
- 新人教版(部编)八年级语文上册《六单元 阅读 24 诗词五首 渔家
- 浅议基层部门预算编制与执行中存在的问题与建议
- 高考过去分词小结
- 某生态住宅小区水源热泵空调系统方案的技术经济分析
- 实验7
- 语文
- 余纯顺遇难之谜 - 图文
- 2014食品安全学复习题及答案