实验答案234
更新时间:2024-05-23 23:40:01 阅读量: 综合文库 文档下载
实验2 选择和循环结构程序设计
1. 求三个整数的最大值和最小值。
1) 定义三个整形变量x1、x2、x3,并通过cin输入变量值 2) 用if-else语句对三个整数进行比较,求出最大值和最小值 3) 用cout显示计算结果
#include
{ int x1,x2,x3,max,min;
cout<<\ cin>>x1>>x2>>x3; //求最大值 if(x1>x2) max=x1; else max=x2; if(x3>max) max=x3; //求最小值 if(x1>x2) min=x2; else min=x1; if(x3 cout<<\ cout<<\ return 0; } 2. 下面程序统计字符数组c中0、1、2及其他字符出现的次数,分别存放 在变量i0、i1、i2中,统计结束后输出它们的值。要求:分析出现结果的原因,如何修改使结果正确。 #include char c[]=”0123456789001112222”; int i0=0,i1=0,i2=0,i3=0; for (int i=0;i<19;i++) switch(c[i]) { case’0’:i0++; case’1’:i1++; case’2’:i2++; default:i3++; } cout<<”i0=”< 改为 #include char c[]=”0123456789001112222”; int i0=0,i1=0,i2=0,i3=0; for (int i=0;i<19;i++) switch(c[i]) { case’0’:i0++; break ; case’1’:i1++; break ; case’2’:i2++; break ; default:i3++; } cout<<”i0=”< 3. 判断用户输入正整数n是否为素数,输出判断结果。 #include using namespace std; int main() { int m,i,k; cout<<\ cin>>m; k=sqrt(m); for (i=2;i<=k;i++) if(m%i==0) break; if(i>k) printf(\ else printf(\ return 0; } 4. 增加实验3的功能,判断用户输入的正整数n是否为素数,直到用户输 入1为止。 1) 用while循环读入正整数n 2) 对于每个正整数n,采用for循环判断是否为素数。 3) 打印输出判断结果 #include int m,i,k; cout<<\ cin>>m; while(m!=1) { k=sqrt(m); for (i=2;i<=k;i++) if(m%i==0) break; if(i>k) printf(\ else printf(\ cout<<\ cin>>m; } return 0; } 5. 编写一个程序实现两个数之间简单的四则运算。在程序中,提示用户按 表达式顺序输入操作数与运算符。 #include using namespace std; int main() { int x1,x2,r; char c; cout<<\请输入一个四则运算表达式(形如:3+5 3-5 3*5 3/5):\ cin>>x1>>c>>x2; switch(c) { case '+':r=x1+x2; break ; case '-':r=x1-x2; break ; case '*':r=x1*x2; break ; case '/':r=x1/x2; break ; default:{cout<<\操作符输入有误\ } cout< 6. 增加实验5的功能,是程序运行时,能一次完成多个运算,直至用户输 入字符“N”(在程序中,提示用户输入“Y”或“N”以决定是否继续进行四则运算)。 #include int x1,x2,r; char c,m='Y'; while(m!='n'&&m!='N') { cout<<\请输入一个四则运算表达式(形如:3+5 3-5 3*5 3/5):\ cin>>x1>>c>>x2; switch(c) { case'+':r=x1+x2; break ; case'-':r=x1-x2; break ; case'*':r=x1*x2; break ; case'/':r=x1/x2; break ; default: { cout<<\操作符输入有误,请重新输入:\} } cout< cin>>m; } return 0; } 7. 编写程序求用户输入的正整数n的阶乘。 #include int i,n; int s=1; //或是double s=1; cout<<\请输入一个正整数:\ cin>>n; for(i=1;i<=n;i++) s*=i; cout< 8. 求?i!(即求1!+2!+…+10!)。 i?110 #include int i,j; int s=1,sum=0; for(i=1;i<=10;i++){ s=1; for(j=1;j<=i;j++) s*=j; sum+=s; } cout<<\…+10!=\ return 0; } 实验3 指针与引用 1. 编写程序:定义一个变量,一个指针,建立该变量的引用。对变量进行 初始化,并将指针指向该变量,分别通过指针和引用改变该变量的值,并输出结果进行比较分析。 #include x=5; p=&x; cout<<\ *p=10; cout<<\ y=11; cout<<\ return 0; } 2. 编写程序:任意输入10个整数放于数组中,利用指针访问数组,求出 该数组中的最大数max以及最小数min。 #include int a[10],i; cout<<\请输入10个整数:\ for(i=0;i<10;i++) cin>>a[i]; cout< for(i=1;i<10;i++) if(*(p+i)>max) max=*(p+i); min=*p; for(i=1;i<10;i++) if(*(p+i) cout<<\这10个数中,最大的是\最小的是\ return 0; } 3. 编写程序:定义c风格字符串,删掉字符串中的数字字符。 #include { char str[20]=\ int i,j; for (i=0,j=0;str[i]!='\\0';i++) if ( str[i]>'9'||str[i]<'0' ) { str[j]=str[i]; j++; } str[j]='\\0' ; cout< 4. 编写程序:定义string类型的字符串,并实现连接、比较、交换功能。 #include { string s1=\利用“=”为字符串赋值 cout<<\ s3=s1+\利用“+”完成两个字符串的联接 cout<<\连接结果:\ if (s1>s2) //利用“<”进行字符串的比较 cout<<\比较结果:\ else cout<<\比较结果:\ swap(s1,s2); //利用字符串函数swap()实现两个字符串的互换 cout<<\交换结果:\ return 0; } 实验4 函 数 1. 定义一个函数,判断三个整形边长能否构成三角形,如果是三角形,则 判断它是否是直角三角形。 1) 声明函数judge; 2) 实现函数judge,根据输入的三个边长判断是否可以构成一个三角形; 3) 在main中调用judge; 4) 在main中根据judge的返回值判断是否是三角形,如果构成三角形则判断是否为直角三角形,并给出结论。 #include int judge(int i,int j,int k); void main() { int a,b,c; cout<<\请输入三条边:\ cin>>a>>b>>c; switch(judge(a,b,c)) { case 0:cout<<\能构成直角三角形\ case 1:cout<<\能构成三角形但不能构成直角三角形\ case 2:cout<<\不能构成三角形\ } } int judge(int i,int j,int k) { if(i+j>k&&abs(i-j) if(i*i+j*j==k*k||i*i+k*k==j*j||j*j+k*k==i*i) return 0; else return 1; else return 2; } 2. 用重载函数实现两个整数和三个整数的排序,按照从小到大的顺序将排 序结果输出。 1) 声明函数sort为重载函数,并根据参数个数的不同分别进行定义; 2) 在main中用cin分别输入两个整数和三个整数; 3) 根据参数个数的不同,调用不同的函数,从而实现重载。 #include void sort(int a,int b,int c); void sort(int a,int b); void main() { int a,b,c; cout<<\请输入两个待排序的整数:\ cin>>a>>b; cout<<\按从小到大的顺序排序:\ sort(a,b); cout< void sort(int a,int b) { int temp; if(a>b) {temp=a;a=b;b=temp;} cout< void sort(int a,int b,int c) { int temp; if(a>b) {temp=a;a=b;b=temp;} if(a>c) {temp=a;a=c;c=temp;} if(b>c) {temp=b;b=c;c=temp;} cout< 3. 在主函数中输入一个十进制数,调用转换函数把这个十进制数转换成 二、八、十六进制数。 #include int n; cout<<\输入一个数:\ cin>>n; trans(n,2); trans(n,8); trans(n,16); } void trans(int n,int base) //实现进制转换的函数 { int num[20], i=0, j,m=n; do { i++; num[i]=mose; m=m/base; }while(m!=0); cout< if(num[j]<10)cout< cout< 4. 在主函数中定义两个变量,调用交换函数实现两个数的交换。分别用指 针和引用作参数来编写交换函数。(体会引用的作用) //引用作参数 #include void swap(int &rx,int &ry); int main() { int x,y; x=10; y=5; cout<<\引用作参数:\ cout<<\交换前:\ swap(x,y); cout<<\交换后:\ return 0; } void swap(int &rx,int &ry) //形参是引用 { int t; t=rx; rx=ry; ry=t; } //指针作参数 #include void swap(int *px,int *py); int main() { int x,y; x=10; y=5; cout<<\指针作参数:\ cout<<\交换前:\ swap(&x,&y); cout<<\交换后:\ return 0; } void swap(int *px,int *py) //形参是指针 { int t; t=*px; *px=*py; *py=t; } int main() { int x,y; x=10; y=5; cout<<\引用作参数:\ cout<<\交换前:\ swap(x,y); cout<<\交换后:\ return 0; } void swap(int &rx,int &ry) //形参是引用 { int t; t=rx; rx=ry; ry=t; } //指针作参数 #include void swap(int *px,int *py); int main() { int x,y; x=10; y=5; cout<<\指针作参数:\ cout<<\交换前:\ swap(&x,&y); cout<<\交换后:\ return 0; } void swap(int *px,int *py) //形参是指针 { int t; t=*px; *px=*py; *py=t; }
正在阅读:
实验答案23405-23
声光显示智力竞赛抢答器设计05-23
2017年3月天津高考英语试题 word06-22
纪录片生命线观后感04-02
2013石家庄在建楼盘03-28
心理咨询师三级考试(各部分重点全)(1)05-19
偿债准备金管理制度09-18
基坑支护专项施工方案(府东路)12-29
第四章采煤班组现场安全管理及岗位风险控制01-16
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 答案
- 实验
- 234
- 一级注册消防工程师资格考核认定申报条件
- 《运动解剖学》教学大纲
- 辽宁中考英语试卷初三毕业考试全真试卷九年级期末试题检测复习资
- 高级财务会计期末复习(11.12)
- 2019届一轮复习人教版必修一Unit1Friendship单元学案(20页word
- 福建省2018届高中毕业班数学学科备考关键问题指导系列14——数学
- 2017-2023年中国绘图仪市场运行格局及投资战略研究报告(目录)
- 江西省上高二中2018 - 2019学年高二生物上学期第一次月考试题201
- 人源葡萄糖转运蛋白GLUT的晶体结构
- 表态发言:在全市旅游发展大会上的表态发言
- 声光显示智力竞赛抢答器设计
- 2008年万载县公共场所卫生监督工作总结
- 人体解剖生理学复习思考题-重点及答案纯属个人总结
- 小学奥数五年级
- 如何填写优秀共青团员推荐表中的主要事迹-推荐word版
- 2010高考英语必修1~选修8词组词汇大总结(人教新课标)
- 可口可乐市场营销(DOC)
- 浙江省金丽衢十二校2010学年第二次联合考试理科数学2011.3
- 2010年专升本 - 计算机科学与技术《专业综合》试卷
- 2013 通信原理 第1-9 11章 习题 测试题 1-15 答案 OK解析