




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验1 C+基础6编写程序,输入某大写字母的ASCII 码值,输出该字母的对应小写字母。#include<iostream>using namespace std;int main()int i;cin>>i;if(i>=65 && 1<=90 )cout<<char(i-'A'+'a')<<endl;elsecout<<" 输入有误"<<endl; return 0;实验 2三、实验思考1. 输入直角三角形的两条直角边长,调用平方根库函数sq
2、rt 来求斜边的长度#include<iostream>#include<cmath> using namespace std;int main() float a,b,c;cout<<" 请输入直角三角形的两条边长:"cin>>a>>b;c=sqrt(a*a+b*b);cout<<" 直角三角形的斜边="<<c<<endl;return 0;2从键盘输入一个字符,如果输入的是英文大写字母,则将它转换成小写字母后输出,否则输出原来输入的字符。#include&
3、lt;iostream>using namespace std;int main()char c;1cout<<" 请输入一个字符:"cin>>c;if(c>='A'&& c<='Z') c+='a'-'A'cout<<c<<endl;return 0;#in3 .输入一个学生的成绩,如高于60分,则输出“ pass” ;否则,输出“failedclude<iostream>using namespace std;in
4、t main()float grade;cout<<" 请输入成绩:"cin>>grade;if(grade>=60)cout<<"pass"<<endl;elsecout<<"failed"return 0;4 . 计算分段函数#include <iostream>#include <cmath> using namespace std;int main()double x,y;cout<<" 请输入一个数x:"
5、cin>>x;if(!x)y=cos(x)-pow(x,2)+3*x;elsey=sin(x)+sqrt(pow(x,2)+1)+3*x;cout<<"y="<<y<<endl;return 0;2#include <ios5 .从键盘上输入17之间的一个数字,输出其对应星期几的英文表示 tream>using namespace std;int main() char c;cout<<"Enter a character of numbers between 1 and 7 :"c
6、in>>c;switch(c)case '1':cout<<"Monday"break;case '2':cout<<"Tuesdag"break;case '3':cout<<"Wenesday"break;case '4':cout<<"Thursday"break;case '5':cout<<"Friday"break;case '
7、;6':cout<<"Saturday"break;case '7':cout<<"Sunday"break;default: cout<<" wrong number"cout<<endl;return 0;6 . 设计一个简单的计算器程序,能够进行加、减、乘、除简单运算并显示结果。#include <iostream>using namespace std;int main()cout<<" 输入简单的算术表达式:( 数 操作
8、符 数 )"int leftOperand,rightOperand;char Operator;cin>>leftOperand>>Operator>>rightOperand;int result;switch(Operator)case '+': result=leftOperand+rightOperand;break;case '-':result=leftOperand-rightOperand;break;case1*1.3result=leftOperand*rightOperand;break;ca
9、se '/':if(rightOperand!=0)result=leftOperand/rightOperand;elsecout<<" 除数为0,除法不能进行"<<endl;return 0;break;default:cout<<Operator<<" 是本程序不支持的操作。"<<endl; return 0;cout<<leftOperand<<Operator<<rightOperand<<'='<&
10、lt;result<<endl; return 0;实验 3三、思考题参考程序1n2?kn1.编程计算表达式k?1的值。#include <iostream>using namespace std;int main()int n,k=1,sum=0,mean;cout<<" 请输入 n 的值 : "cin>>n;while(k<=n) sum+= k*k;k+;if (n>0)mean=sum/n;elsemean=0;cout<<"1n个整数平方和的均值="<<mean
11、<<endl;return 0;42输入两个正整数,判别它们是否互为互质数。所谓互质数,就是最大公约数是1。 #include <iostream>using namespace std;int main()int m,n,r;cout<<" 请输入两个正整数:"cin>>m>>n;cout<<m<<,不口” <<n;if(m<n) r=m;m=n;n=r;while(r=m%n)m=n;n=r;if(n=1)cout<<"是互质数"<
12、<endl;elsecout<<"不是互质数" <<endl;return 0;3.编写程序,输出从公元2000年至3000年间所有闰年的年号#include <iostream>using namespace std;int main()int year;cout<<" 公元 2000年至 3000年间闰年的年号:n"for(year=2000;year<=3000;year+)if(year%4=0 && year%100 !=0)|(year%400=0)cout<&
13、lt;year<<'t'cout<<endl;return 0;4编写程序模拟猴子吃桃子问题:猴子第1 天摘下若干桃子,当即吃了一半,还不过瘾,又多吃了一个。第2 天将剩下的桃子又吃了一半,又多吃一个。以后每天都吃了前一天剩下的5一半零 1 个。到了第10 天,只剩下了一个桃子。请问猴子第一天共摘了多少个桃子?方法 1:#include <iostream>using namespace std;int main()int day,qian,hou=1;for(day=9;day>=1;day-)qian=(hou+1)*2;hou=q
14、ian;cout<<qian<<endl;return 0;运行结果:1534方法 2:#include <iostream> using namespace std;int main()int day,number=1;for(day=9;day>=1;day-) number=(number+1)*2; cout<<number<<endl;return 0;方法 3: #include <iostream>using namespace std;int peach(int);int main()cout<
15、<" 第 1 天共摘了"<<peach(1)<<" 个 "<<endl;return 0;int peach(int day)int number;6if(day=10)number=1;elsenumber=2*(peach(day+1)+1);return number;方法1:5,计算 s=1+ (1+2) + (1+2+3) + (1+2+3+4) + + (1+2+3+ +n)的值。#include <iostream>using namespace std;int main()int i,
16、j,n;long int sum,total(0);cout<<"input n:"cin>>n;for(i=1;i<=n;i+)sum=0;for(j=1;j<=i;j+)sum+=j;total+=sum;cout<<"s="<<total<<endl;return 0;#include <iostream> using namespace std;int main()int i,n;long int sum(0),total(0);cout<<"
17、;input n:"cin>>n;for(i=1;i<=n;i+)sum+=i;total+=sum;7cout<<"s="<<total<<endl;return 0;6马克思曾经做过这样一道趣味数学题:有30 个人在一家小饭馆用餐,其中有男人、女人和小孩。每个男人花了3 先令,每个女人花了2 先令,每个小孩花了1 先令,一共花了50 先令。请问男人、女人以及小孩各有几个人?#include <iostream> using namespace std;int main()int x,y,z;fo
18、r(x=1;x<=16;x+)for(y=1;y<=24;y+)z=30-x-y;if(3*x+2*y+z=50)cout<<"Men are "<<x<<",women are "<<y <<",children are "<<z<<"."<<endl; return 0; 实验 4 常用程序设计算法三、实验思考1.读入一个整数N,若N为非负数,则计算N到2XN之间的整数和;若N为负数,则求2 XN到N之间
19、的整数和。分别利用for和while写出两个程序。#include<iostream>using namespace std;int main()int N;cin>>N;int i=N;long sum=0;if(N>=0)(for(;i<=2*N;i+)sum+=i;8)else(for(;i>=2*N;i-) sum+=i; cout<<sum<<endl; return 0;#include<iostream> using namespace std;int main()( int N;cin>>
20、N;int i=N;long sum=0; if(N>=0) while(i<=2*N) sum+=i; i+; elsewhile(i>=2*N) sum+=i; i-; cout<<sum<<endl; return 0;92.设s?1?111?,求与8最接近的s的值及与之对应的n值。23n#include<iostream>using namespace std;int main() float s=1.0;int n=1;do(+n;s+=1.0/n;while(s<=8);if(s-8)>(8-(s-1.0/n)cou
21、t<<"s="<<s-1.0/n<<' '<<"n="<<n-1<<endl;elsecout<<"s="<<s<<' '<<"n="<<n<<endl;return 0;3.已知A >B>C且A+B+C<100求满足1?1?1的共有多少组。A2B2c2#include <iostream>using names
22、pace std;int main()(int A,B,C;int count=0;for(C=0;C!=33;+C )for(B=100; B>C;-B )for(A=100; A>B; -A)if(A + B + C < 100) && (A * A * B * B) = (A * A + B * B) * C * C) cout << A << ' ' << B << ' ' << C << endl;+ count;cout << &qu
23、ot;count is:" << count << endl;10return 0;4一司机出车祸后驾车逃离现场,第一位目击者记得车牌号前两位数字相同,且后两位数字也相同;第二位目击者是一位数学家,他看出车牌号是四位完全平方数。试推算肇事车的车牌号。#include<iostream>using namespace std;int main()int n,i;for(i=32;i<100;i+)n=i*i;if(n%10 = n%100/10 && n/1000 = n/100%10)cout<<n<<
24、endl;return 0;11#inclu5编程验证“四方定理”:所有自然数至多只要用4 个数的平方和就可以表示。de<iostream>using namespace std;int main()int number,i,j,k,l;cout<<"Please enter a number:"cin>>number;for(i=1;i<number/2;i+)for(j=0;j<=i;j+)for(k=0;k<=j;k+)for(l=0;l<=k;l+)if(number=i*i+j*j+k*k+l*l) co
25、ut<<number<<"="<<i<<"*"<<i<<"+"<<j<<"*"<<j<<"+"<<k<<"*"<<k<<"+"<<l<<"*"<<l<< endl;exit(0);return 0;6.编程验证“角谷猜想”:
26、任给一个自然数,若为偶数则除以2,若为奇数则乘3加1,得到一个新的自然数,然后按同样的方法继续运算,若干次运算后得到的结果必然为1。#include<iostream>using namespace std;int main()(int n,flag;flag=1;cout<<"please input n:"<<endl;cin>>n;while(flag)if(n%2=0)n=n/2;elsen=n*3+1;12 if(n=1) flag=0; cout<<"success!"<<
27、;endl; return 0;实验 5 函数和编译预处理三、实验思考1. 参考程序如下:#include <iostream>using namespace std;long int Fibonacci(int n);void main()int i;long int t,t1;cout<<"please input t:"<<endl;cin>>t;for (i=2;i+)t1=Fibonacci(i);if (t1>t) cout<<"min Fibonacci="<<t
28、1<<endl;break; long int Fibonacci(int n)if (n=0) return 1;else if (n=1) return 1;else return Fibonacci(n-1)+Fibonacci(n-2);2. 参考程序如下:#include <iostream>using namespace std;int num_n(int n,int a) / 由 n 个 a 组成的多位数的计算if (n=1) return a;13else return num_n(n-1,a)*10+a;)void main()(int i,n;lon
29、g int sum=0;cout<<"please input n:"<<endl;cin>>n;for (i=1;i<=n;i+)cout<<num_n(i,2)<<endl;sum+=num_n(i,2);)cout<<"n="<<n<<":sum="<<sum<<endl; 3. 参考程序如下:#include <iostream>using namespace std;int isprime
30、(int n) / 判断n是否为素数的函数 int i;for (i=2;i<n-1;i+)if (n%i=0) return 0;/非素数,函数值返回0 return 1;/ 素数,函数值返回1 void main()int i,min_prime,max_prime;for (i=1000;i<=2000;i+)if(isprime(i)=1)cout<<" 最小素数="<<i<<endl; break; for (i=2000;i>=1000;i-)if(isprime(i)=1)cout<<"
31、; 最大素数="<<i<<endl; break; 4. 参考程序如下:#include <iostream>using namespace std;int sum(int n)14static s=0;s=s+n;return s;void main() int i, n,s;cout<<" 情指定 n:"cin>>n;for (i=1;i<=n;i+)s=sum(i);cout<<"1n 之和 ="<<s<<endl;5. 参考程序如下:#
32、include <iostream>using namespace std;int is_h(int n) / 判断参数n 是否为回文int i,m,fn;/i 用来记录n 的某一位数字,m 初值为 n,fn 用于记录n 的倒序数m=n;fn=0;while(m!=0) i=(m%10);fn=(fn*10+i);m=m/10;if(fn=n) return 1; / 是回文数返回1else return 0; / 不是回文数返回0void main()int i;int t; cin>>t;for (i=1;i<=t;i+)if (is_h(i)=1)cout&
33、lt;<" 回文数 :"<<i<<endl;156. 参考程序如下:#include <iostream>using namespace std;#define X (a+b)/2#define AREA X*h void main()float a,b,h,s;cout<<" 请分别输入a,b,h 的值,用空格分隔!"<<endl; cin>>a>>b>>h;s=AREA;cout<<AREA<<endl;实验六 数组三、实验思
34、考题参考源代码思考题 1. shi_6_3_1.cpp#include <iostream.h>#define N 5int lookup(int ,int ,int ); /函数说明void main() int i, aN,index,yLooked;cout<<"请输入 N(=5)个整数:"<<endl;for(i=0;i<N;i+) cin>>ai;cout<<" 请输入您要找的整数:"<<endl;cin>>yLooked;index=lookup(a,N
35、,yLooked); / 函数调用if(index!=-1)cout<<" 您要找的数下标为:"<<index<<endl; elsecout<<" 没有找到"<<yLooked<<endl;cout<<"n 谢谢使用本程序,再见!"<<endl; cin.get();16cin.get();int lookup(int x,int n,int y) /函数定义int flag=-1; / 首先假设找不到int i;for(i=0;i<
36、;n;i+)if(xi=y)flag=i;break; / 找到了则不必再往后找return flag; 思考题 2. shi_6_3_2.cpp#include <iostream.h>#define N 5int max(int ,int ); /函数说明void main() int i, aN,xMax;cout<<"请输入 N(=5)个整数:"<<endl;for(i=0;i<N;i+) cin>>ai;xMax=max(a,N);cout<<" 数组中最大的的整数:"<&
37、lt;xMax<<endl;cout<<"n 谢谢使用本程序,再见!"<<endl;cin.get();cin.get();int max(int x,int n)int i,r=x0; / 首先假设x0 最大 , 且存于 r 中for(i=1;i<n;i+) / 也可写成for(i=0;i<n;i+)if(xi>r) r=xi; /发现了更大的则 修改 rreturn r; / r 中 存有最大元素的值17 思考题 3. shi_6_3_3.cpp#include <iostream.h>#define N
38、 5void invert(int ,int); /函数说明void main() int i, aN;cout<<"请输入 N(=5)个整数:"<<endl;for(i=0;i<N;i+) cin>>ai;invert(a,N);cout<<"n 这些数 逆序输出如下:n"<<endl; for(i=0;i<N;i+) cout<<ai<<" "cout<<"n 谢谢使用本程序,再见!"<<en
39、dl; cin.get();cin.get();void invert(int x,int n)int i=0, j=n-1,t; /while(i<j) t=xi; xi=xj; xj=t;i+;j-;return;思考题 4. shi_6_3_4.cpp#include <iostream.h>#define M 3 /M行#define N 4 /N列void main()int numMN; /=1,6,9, 3,5,4, 2,7,8; int i,j,it,itt, t,jt,exist=0;cout<<" 请输入 3 行 4 列 的 二维 数
40、组: " <<endl; for (i=0;i<M;+i)for (j=0;j<N;+j) cin>>numij;18for (i=0;i<M;+i) t=numi0; jt=0; for (j=0;j<N;+j)if ( t<numij) t=numij, jt=j; itt=i;for(it=0;it<M;+it) if ( t>numitjt) t=numitjt, itt=it; if (i=itt) exist=1;break; if (exist) cout<<" 鞍点为 "
41、<<t<<endl; else cout<<" 无鞍点 " <<endl;cout<<"n 谢谢使用本程序,再见!"<<endl; cin.get(); cin.get(); 思考题 5. shi_6_3_5.cpp分析:采用3 个数组,它们元素值含义如下:19第 19/23 页bab0 <ab1&、. 、<abN -1a、 b、 c 数组元素值含义示意图#define N 7#include <iostream> #include <ioman
42、ip> using namespace std; int main( ) int i, j,t,k,ik;int aN,bN,cN; cout<<"please input N numbers:"<<endl; for (i=0;i<N;i+)cin>>ai; 从键盘上输入N个元素,a0保存第一个数据cout<<"a 数组各元素的值:"<<'n' for(i=0;i<N;i+)cout<<setw(6)<<ai; cout<<
43、endl;for (i=0;i<N;i+) bi=i;for (i=0;i<N-1;i+) 排序,使 ab0 <ab1&、. 、<abN -1 k=i; /每轮选择过程开始时假定abi 最小,将下标i保存在k中for (j=i+1;j<N;j+) / abk 与 abi 后面的元素逐个比较if (abk>abj) k=j; /若发现某个abj 小于 abk, 则将 k 修改为 j if (k!=i)20第 20/23 页 t=bi; bi=bk; bk=t; cout<<"b 数组各元素的值:"<<'n' for(i=0;i<N;i+)cout<<setw(6)<<bi; cout<<endl;ik=1;cb0=ik;for
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肉鸡养殖购销合同样本
- 建筑外墙清洗服务合同范本
- 合同终止通知书模板与合同范本
- 工程技术人才劳动合同书
- 应收账款质押贷款合同
- 机动车维修服务合同标准范本
- 劳动合同简化版合同模板
- 个人贷款合同还款计划书范本大全
- 简版个人商业空间租赁合同
- 集中隔离观察点培训课件
- 2024年浙江绍兴杭绍临空示范区开发集团有限公司招聘笔试真题
- 2025年体检科医疗质量控制工作计划
- 2024年萍乡卫生职业学院单招职业适应性测试题库参考答案
- 飞行器小学生课件
- 无人机法律法规与安全飞行 第2版2-2 领空
- 《单片机应用实训教程》课件第4章
- 应急突发处置
- 2024年定融认购协议合同范文
- 系统思维与系统决策:系统动力学(中央财经大学)知到智慧树章节答案
- 货车司机 合股 合同范例
- 2024数据中心综合布线工程产品选用指南
评论
0/150
提交评论