c++作业
- 格式:doc
- 大小:66.50 KB
- 文档页数:16
作业一C语言概述一、选择题1-个C程序的执行是从A.本程序的main函数开始,到main函数结束B.本程序文件的第-个函数开始,到本程序文件的最后-个函数结束C.本程序的main函数开始,到本程序文件的最后-个函数结束D.本程序文件的第-个函数开始,到本程序main函数结束2以下叙述正确的是:A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写-条语句C.C语言本身没有输入输出语句D.在对-个C程序进行编译的过程中,可发现注释中的拼写错误3以下叙述不正确的是A.-个C源程序可由-个或多个函数组成B.-个C源程序必须包含-个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于-条语句的后面4C语言规定:在-个源程序中,main函数的位置A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后5-个C语言程序是由A.-个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成二、编程题编写一个C程序,输出以下信息:****************************************Hello,world!****************************************作业二程序的灵魂——算法一.填空题1.算法的五个特性是指:有穷性、、、、。
2、三种基本的程序结构是:、、。
3、程序中的子模块在C语言中用来实现。
作业三数据类型、运算符与表达式一、选择题1以下结果为整数的表达式(设有int i;char c;float f;)( ).A.i十f B.i*c C.c十f D.i十c十f2以下不正确的语句(设有int p,q)是( )。
A.P*=3; B.p/=q; C.p十=3; D.p&&=q;3以下使i的运算结果为4的表达式是( )。
A.int i=0,j=0;(i=3,(j十十)十i);B.int i=1,j=0;j=i=((i=3)*2);C.int i=0,j=1;(j==1)?(i=1);(i=3);D.int i=1,j=1;i+=j十=2;4下列四组选项中,均不是C语言关键字的选项是( ).A)define B)getc C)include D)whilei f char sanf gotype printf case pow5下列四个选项中,均是C语言关键字的选项是( )。
C级爆破作业是指较小规模的爆破活动,它的爆破作业范围相对较小,一般适用于城镇、村庄等区域内散布着建筑物、道路及其它设施的地方。
根据不同的爆破对象和爆破要求,C级爆破的作业范围以及相关限制要求如下:1. 爆破对象限制- 禁止在有其他单位或者个人使用的建筑物、构筑物(包括铁路、公路、桥梁、隧道、生产企业、学校、影剧院、购物中心等)10米范围内进行爆破。
- 在露天岩石开采作业中,C级爆破作业不能涉及国家和省级文化遗产保护范围等特殊区域。
2. 安全距离限制- 爆破运作过程中,要确保距离爆破现场20米范围内的人员全部撤离。
- 爆破运作过程中,应当发布警告,确保周围人员得到提前通知并悉知爆破时间、区域及其它相关内容。
3. 爆破质量控制- 对于C级爆破作业,强烈建议采用涡轮式钻孔机进行岩石钻孔,以保证钻孔质量及爆破效果。
- 爆破前应当对钻孔位置、钻孔孔径、进尺深度进行严格的测量和检查,保证爆破质量和作业安全。
- 爆破前应当对surrounding environment 及其影响范围进行准确、全面的分析和评估。
对爆炸冲击波、飞石、粉尘等造成的环境影响和人员危害进行预测并采取相应的防护措施。
- 爆破后及时对环境变化及其造成的损坏情况进行评价和修复,保证爆破后地质环境处于正常状态。
4. 爆破作业管理- 在爆破作业前要查明周边地形地貌、水文地质、交通路况、敏感点、线路、场址等因素,确保爆破在事先做好危险源识别和危险源控制的基础上进行。
- 对司机、钻工、爆破施工队员,应安排必要的技术培训和操作指导,确保其熟悉爆破技术和操作规程,做到严格遵守作业流程和程序。
- 注意检修和维护所使用的设备设施,确保设备的性能和安全可靠。
在进行C级爆破作业时,必须严格按照《炸药安全管理规定》等相关法律法规和技术规范的要求,加强管理、控制风险、确保安全,防止因爆破作业而造成的环境污染和对人身财产的危害。
第一章:第6题方法一:#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}方法二:#include <stdio.h>int main(){int max(int x,int y);int a,b,c,d;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);d=max(max(a,b),c);printf("The largest number is %d\n",d);return 0;}int max(int x,int y){ return (x>y)?x:y;}第三章第3题#include <stdio.h>#include <math.h>int main(){float d=300000,p=6000,r=0.01,m;m=log10(p/(p-d*r))/log10(1+r);printf("m=%6.2f\n",m);return 0;}第4题#include <stdio.h>int main(){char c1,c2;c1=97;c2=98;printf("c1=%c,c2=%c\n",c1,c2);printf("c1=%d,c2=%d\n",c1,c2);return 0;}(1)运行时会输出什么信息?为什么?解:运行时输出:第1行是将c1,c2按%c的格式输出,97是字符a的ASCII代码,98是字符b的ASCII代码。
No.: Name:第1讲C语言概述注:本系列习题中符号表示一串字符中的空格,符号表示下划线,符号ê表示换行回车,即键盘上Enter键。
一、选择题1. 一个C程序的执行是从A 。
A) 本程序main函数开始,到main函数结束B) 本程序文件第一个函数开始,到最后一个函数结束C) 本程序文件第一个函数开始,到本main函数结束D) 本程序main函数开始,到本程序文件最后一个函数结束2. 以下叙述不正确的是D 。
A) 一个C源程序必须包含一个main函数B) 一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后面3. 以下叙述正确的是C 。
A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) 语言本身没有输入输出语句D) C程序的每行中只能写一条语句4. 一个C语言程序是由B 。
A) 一个主程序和若干个子程序组成B) 函数组成C) 若干过程组成D) 若干子程序组成5. 以下叙述中正确的是C 。
A) C语言比其他语言高级B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚,具有其他语言的一切优点6. 下列叙述中正确的是D 。
A) C语言编译时不检查语法B) C语言的子程序有过程和函数两种C) C语言的函数可以嵌套定义D) C语言的函数可以嵌套调用7. 以下叙述中正确的是A 。
A) 构成C程序的基本单位是函数B) 可以在一个函数中定义另一个函数C) main函数必须放在其他函数之前D) 所有被调用的函数一定要在调用之前进行定义8. C语言规定,在源程序中,main函数的位置C 。
A) 必须在最开始B) 必须在系统调用的库函数的后面C) 可以任意D) 必须在最后9. 下列选项中不是结构化程序基本结构的是B 。
大学c 课程设计作业一、教学目标本课程的教学目标是使学生掌握大学C课程的基本知识和技能,能够运用C语言进行简单的程序设计。
具体分为以下三个部分:1.知识目标:学生能够了解C语言的基本语法、数据类型、运算符、控制结构等,理解程序设计的基本概念。
2.技能目标:学生能够使用C语言编写并运行简单的程序,解决一些基本的计算问题。
3.情感态度价值观目标:学生能够认识到编程的重要性,培养对编程的兴趣和热情,养成良好的编程习惯。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构等,具体安排如下:1.第一章:C语言概述,介绍C语言的发展历程、特点和基本语法。
2.第二章:数据类型和运算符,讲解C语言的基本数据类型、运算符及其使用方法。
3.第三章:控制结构,讲解条件语句、循环语句等控制结构的使用。
4.第四章:函数,介绍函数的定义、声明和调用,以及常用库函数的使用。
5.第五章:数组和字符串,讲解数组的基本操作、字符串的表示和操作方法。
6.第六章:指针,介绍指针的概念、运算和应用。
7.第七章:结构体和联合体,讲解结构体、联合体的定义和使用。
8.第八章:文件操作,介绍文件的概念、文件的打开和关闭、文件的读写操作。
三、教学方法本课程采用多种教学方法相结合的方式,以激发学生的学习兴趣和主动性:1.讲授法:教师讲解C语言的基本概念、语法和编程技巧。
2.案例分析法:通过分析典型的编程案例,让学生理解并掌握编程的方法和技巧。
3.实验法:让学生动手编写程序,培养实际编程能力。
4.讨论法:学生进行课堂讨论,促进学生之间的交流和合作。
四、教学资源本课程的教学资源包括:1.教材:《大学C程序设计》2.参考书:《C语言程序设计》3.多媒体资料:教学PPT、编程实例等4.实验设备:计算机、编程环境等以上教学资源将有助于实现本课程的教学目标,提高学生的编程能力。
五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:通过课堂参与、提问、讨论等方式评估学生的学习态度和积极性。
1、用下面的scanf函数输入数据,使a=10, b=20, c1='A', c2='a', x=1.5, y=-3.75, z=67.8,请问在键盘上如何输入数据?scanf("%5d%5d%c%c%f%f%*f,%f", &a,&b,&c1,&c2,&x,&y,&z);2、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
用scanf函数输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字第三次作业1、有3个整数a,b,c,由键盘输入,输出其中最大的数。
2、有一个函数:x x<1y= 2x-1 1<=x<103x-11 x>=10写一段程序,输入x,输出y的值。
3、给出一百分制成绩,要求输出成绩等级A、B、C、D、E。
90分以上为A,80-89分为B,70-79为C,60-69为D,60分以下为E。
4、给一个不多于5位的正整数,输出这个数是几位数。
第四次作业1、给一个不多于5位的正整数,要求:a.求出它是几位数;+b.分别输出每一位数字;c.按逆序输出各位数字,例如:原数为321,应输出123。
2、教材P112页第5.8题(if语句解法创建一个独立文件,switch语句解法创建一个独立文件第五次作业1、输入两个正整数m和n,求其最大公约数和最小公倍数。
(经典题)2、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数,并输出。
3、求s=a+aa+aaa+aaaa+....+(a...a)之值,其中a是一个数字,n表示a的位数。
1、输入两个字符串,使用指针p将两个字符串按次序复制到数组c中。
例:输入“zhe"和"jiang",将"zhejiang"保存在数组c中。
第1章C语言概述习题(P13):1.3 写出一个C程序的构成。
答:C程序由一个main函数和0个或多个自定义函数构成,每个函数的构成如下:函数类型函数名(函数参数列表){说明部分执行部分}1.4 C语言以函数为程序的基本单位,有什么好处?答:一个函数实现一个相对独立的功能,便于实现程序的模块化。
1.5 请参照本章例题,编写一个C程序,输出以下信息:*************************************************Very good!*************************************************答:参照例1.1编程如下# include <stdio.h>void main(){printf("********************************************\n");printf(" Very good!\n");printf("********************************************\n");}1.6 编写一个C程序,输入a、b、c 3个值,输出其中最大者。
答:参照例1.3编程如下法一:修改例1.3的主函数,自定义max函数不变。
# include <stdio.h>void main(){int max(int x,int y); /*函数声明*/int a,b,c,m; /*定义4个变量,m用于存放最大值*/scanf("%d%d%d",&a,&b,&c);/*从键盘上输入3个整数*/m=max(a,b); /*第一次调用max函数求出前两个数的最大值放在m中*/m=max(m,c); /*再调max函数求出m和第三个数的最大数*/printf("max is %d\n",m); /*输出结果*/}int max(int x,int y) /*定义求两个数的最大数的函数max */{int z;if(x>y) z=x;else z=y;return(z);}法二:修改例1.3的主函数和max函数,将max函数改为求3个数的最大数。
c程序设计课程设计作业一、教学目标本课程的教学目标是使学生掌握C程序设计的基本概念、语法和编程技巧,培养学生具备基本的程序设计能力和问题解决能力。
具体包括以下几个方面:1.知识目标:学生需要掌握C程序设计的基本语法、数据类型、运算符、控制结构、函数、数组、指针等基本概念,了解结构体、共用体、位字段等数据结构,以及文件操作、调试技巧等编程实践知识。
2.技能目标:学生需要能够运用C语言编写简单的程序,解决实际问题,具备基本的程序调试和优化能力。
3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高学生独立思考、创新意识和团队合作能力。
二、教学内容根据教学目标,本课程的教学内容主要包括以下几个部分:1.C语言基本语法和数据类型:变量、常量、数据类型、运算符、表达式等。
2.控制结构:顺序结构、选择结构、循环结构等。
3.函数:函数的定义和声明、参数传递、返回值、局部变量和全局变量等。
4.数组和指针:一维数组、多维数组、字符串、指针的概念和应用等。
5.数据结构:结构体、共用体、位字段、链表、栈和队列等。
6.文件操作:文件的打开、关闭、读写、定位等操作。
7.编程实践:调试技巧、代码优化、算法分析等。
三、教学方法为了达到教学目标,本课程将采用以下几种教学方法:1.讲授法:通过讲解和演示,使学生掌握C语言的基本概念和语法。
2.案例分析法:通过分析实际案例,引导学生运用C语言解决实际问题。
3.实验法:安排上机实验,让学生动手编写程序,培养编程能力和实践能力。
4.讨论法:学生进行小组讨论,促进学生之间的交流与合作,提高学生的创新意识和团队合作能力。
四、教学资源为了支持教学内容和教学方法的实施,本课程将采用以下教学资源:1.教材:《C程序设计语言》(K&R)、《C Primer Plus》等。
2.参考书:《C专家编程》、《C陷阱与缺陷》等。
3.多媒体资料:教学PPT、视频教程、在线课程等。
4.实验设备:计算机、编程环境(如Visual Studio、Code::Blocks等)、网络资源等。
第一章1-1/*求一个整数的10倍*/#include<iostream.h>void main(){ int a,b;cout<<"请输入一个任意整数:"<<'\n';cin>>a;b=10*a;cout<<"这个数的10倍是:"<<b<<endl;}1-2/*求两个数中较小的一个*/#include<iostream.h>void main(){float a,b;cout<<"请输入两个数:";cin>>a>>b;cout<<"这两个数中较小的数为:"<<(a>b?b:a)<<endl;}1-3/*求圆的周长和半径*/#include<iostream.h>void main(){float radius,x(3.141592653),c,s;cout<<"请输入圆的半径:"<<endl;cin>>radius;c=2*x*radius;s=x*radius*radius;cout<<"圆的周长为:"<<c<<'\n'<<"圆的面积为:"<<s<<'\n'; }1-4/*将10000秒化为小时分秒*/#include<iostream.h>void main(){int a,b,c;a=10000/360;b=10000%360/60;c=10000%360%60;cout<<"10000秒是"<<a<<"小时"<<b<<"分"<<c<<"秒";}1-5/*将三位正整数各位分三行输出*/#include<iostream.h>void main(){int a,b,c,d;cout<<"请输入一个三位数:";cin>>a;b=a/100;c=a%100/10;d=a%10;cout<<d<<'\n'<<c<<'\n'<<b<<'\n';}第二章2-1#include<iostream.h>void main(){int n,y;cout<<"请输入一个整数:"<<endl;cin>>n;if(n>0) y=n+1;else if(n==0) y=0;else y=n*n;cout<<"y="<<y<<endl;}2-2#include<iostream.h>void main(){char word;cout<<"请输入一个任意字符:\n";cin>>word;if(word>='0'&&word<='9')cout<<"输入的字符是数字\n";else if(word>='a'&&word<='z')cout<<"输入的字符是小写字母\n";else if(word>='A'&&word<='Z')cout<<"输入的是大写字母\n";else cout<<"输入的是其他字符\n";}2-3#include<iostream.h>void main(){double a(0),b(-1),n(0);for(;1/(2*n+1)>=1.0e-6;){b*=-1;a+=b/(2*n+1);n++;}cout<<"π="<<4*a<<endl;}2-7#include<iostream.h>void main(){float F(-30),C;for(;F<=100;F=F+5){C=(F-32)*5/9;cout<<"华氏"<<F<<"度=摄氏"<<C<<"度"<<endl;}}2-4#include<iostream.h>void main(){int i=5,j,a,b(0);for(;i<=7;i++){a=1;{for(j=1;j<=i;j++)a*=j;}b+=a;}cout<<"5!+6!+7!="<<b<<endl;}2-5#include<iostream.h>void main(){int i,j,count(0);cout<<"从2开始100个素数:";for(i=2;count<=100;i++){for(j=2;j<=i;j++){if(i%j!=0) continue;else if (i==j) {cout<<i<<" ";count++;}else break;}}}2-6/*百钱百鸡问题*/#include<iostream.h>void main(){int i,j,k;for(i=0;i<=19;i++){for(j=0;j<=100-i;j++){k=100-i-j;if(15*i+9*j+k==300){cout<<"公鸡"<<i<<"只\n";cout<<"母鸡"<<j<<"只\n";cout<<"小鸡"<<k<<"只\n";break;}}}}第三章3-1#include<iostream.h>void main(){float score[10],ave,sum(0),a(0),b(0);cout<<"请输入10个同学的成绩:";for(int i=0;i<=9;i++){cin>>score[i];sum+=score[i];}ave=sum/10;for(int j=0;j<=9;j++){if(score[j]>ave) a++;if(score[j]<60) b++;}cout<<"平均分"<<ave<<endl;cout<<"大于平均分的人数"<<a<<endl;cout<<"小于60分的人数"<<b<<endl;}3-2#include<iostream.h>void main(){char str[80];int a(0),i(0),j(0);cout<<"请输入一串字符:"<<endl;cin>>str;while(str[j]!='\0'){if(str[j]=='a') a++;if(str[j]=='i') i++;j++;}cout<<"a出现的次数:"<<a<<endl;cout<<"i出现的次数:"<<i<<endl;cout<<"这串字符为:"<<str<<endl;}3-3#include<iostream.h>void main(){float a[3][3],sum1(0),sum2(0);cout<<"输入一个3×3的二维数组:"<<endl;for(int i=0;i<3;i++)for(int j=0;j<3;j++)cin>>a[i][j];for(int m=0,n=2;m<3;m++,n--){sum1+=a[m][m];sum2+=a[m][n];}cout<<"主对角线之和:"<<sum1<<endl;cout<<"次对角线之和:"<<sum2<<endl;}3-4#include<iostream.h>void main(){int a[11]={2,4,5,8,12,14,16,18,20,30},x,i,j,k;cout<<"请输入一个任意整数:"<<endl;cin>>x;for(i=0;i<=10;i++){if(x<a[i]){for(j=10;j>i;j--) a[j]=a[j-1];a[i]=x;break;}}for(k=0;k<=10;k++)cout<<a[k]<<" ";}3-5#include<iostream.h>void main(){int a[5][3],i,j,b[5]={0},x;cout<<"请输入一个5行3列的数组:"<<endl;for(i=0;i<5;i++)for(j=0;j<3;j++)cin>>a[i][j];for(i=0;i<5;i++)for(j=0;j<3;j++)b[i]+=a[i][j];for(i=0;i<5;i++)for(j=0;j<5-i;j++)if(b[j]>b[j+1]){x=b[j+1];b[j+1]=b[j];b[j]=x;}for(i=0;i<5;i++)cout<<b[i]<<" ";}第四章#include<iostream.h>#include<string.h>#define N 80float count(char a[]);void main(){char a[N];float b;cout<<"请输入一串字符:"<<endl;cin.getline(a,N);b=strlen(a);cout<<"数字所占百分比为:"<<count(a)/b<<endl;}float count(char a[]){int i(0);float count(0);while(a[i]!='\0'){if(a[i]>='\0'&&a[i]<='\9')count++;i++;}return count;}4-2#include<iostream.h>int fmax(int x,int y);int fmin(int x,int y);void main(){int a,b;cout<<"请输入两个整数:"<<endl;cin>>a>>b;cout<<"这两个数的最大公约数:"<<fmax(a,b)<<endl;cout<<"这两个数的最小公倍数:"<<fmin(a,b)<<endl; }int fmax(int x,int y){int i=(x>=y?y:x);for(;i>=1;i--)if(x%i==0&&y%i==0){return i;break;}int fmin(int x,int y){int i=(x>=y?x:y);for(;i<=x*y;i++)if(i%x==0&&i%y==0){return i;break;}}4-3#include<iostream.h>int f(int x);float f(float x);double f(double x);void main(){int a;float b;double c;cout<<"请分别输入一个整数、一个单浮点数、一个双浮点数:"<<endl;cin>>a>>b>>c;cout<<"整数的绝对值:"<<f(a)<<endl;cout<<"单浮点数的绝对值:"<<f(b)<<endl;cout<<"双浮点数的绝对值:"<<f(c)<<endl;}int f(int x){if(x>=0) return x;else return -x;}float f(float x){if(x>=0) return x;else return -x;}double f(double x){if(x>=0) return x;else return -x;}4-4/*从一串字符中去除与另一串字符共同含有的字符*/#include<iostream.h>#include<string.h>#define N 80void delchar(char *s1,char s2);void main(){char s1[N],s2[N],*p;cout<<"输入第一串字符:"<<endl;cin.getline(s1,N);cout<<"输入第二串字符:"<<endl;cin.getline(s2,N);p=s1;for(int i=0;s2[i]!='\0';i++)delchar(p,s2[i]);cout<<"从第一串字符中去除与第二串字符相同的字符后得:"<<s1<<endl; }void delchar(char *s1,char s2){for(;*s1!='\0';s1++)if(*s1==s2)for(;*s1!='\0';s1++)*s1=*(s1+1);}4-5#include<iostream.h>int function(int n,int k);void main(){int n,k;cout<<"输入一个整数:"<<endl;cin>>n;cout<<"输入k的值:"<<endl;cin>>k;cout<<n<<"从右数第"<<k<<"个数字是"<<function(n,k)<<endl;}int function(int n,int k){int i,j,m;m=n;for(i=0;m!=0;i++)m/=10;if(k<1||k>i) return 0;else{for(j=1;j<k;j++){n/=10;}n=n%10;return n;}}4-6#include<iostream.h>#define N 80void avel(int p[N][N],int m,int n);void main(){int m,n,p[N][N],i,j;cout<<"输入数组的行数与列数:"<<endl;cout<<"行:";cin>>m;cout<<"列:";cin>>n;cout<<"输入"<<m<<"行"<<n<<"列的二维数组:"<<endl;for(i=0;i<m;i++)for(j=0;j<n;j++)cin>>p[i][j];avel(p,m,n);}void avel(int p[N][N],int m,int n){int i,j,sum;for(i=0;i<m;i++){sum=0;for(j=0;j<n;j++)sum+=*(*(p+i)+j);cout<<"第"<<i<<"行的平均值是:"<<sum/n<<endl;}}4-7#include<iostream.h>#include<string.h>#define N 80char ch;int find(char a[]);void main(){char a[N];cout<<"输入字符串:"<<endl;cin.getline(a,N);cout<<"输入要寻找的字符:"<<endl;cin>>ch;find(a);}int find(char a[]){int i,j(0);for(i=0;a[i]!='\0';i++){if(a[i]==ch){cout<<ch<<"第一次出现的位置为"<<(i+1)<<endl;j++;}}if(j==0) {cout<<"无"<<ch<<"字符"<<endl;}return 0;}4-8#include<iostream.h>int chan(int x,int y);void main(){int n,m;cout<<"输入需要转换的十进制整数:"<<endl;cin>>n;cout<<"输入要转化成的进制数:"<<endl;cin>>m;chan(n,m);}int chan(int x,int y){int *p,i(0),a[80];p=a;if(x<y)cout<<"转化为"<<y<<"进制后为:"<<x<<endl;if(x>=y){{for(;x>=y;){*p=x%y;x=x/y;p++;i++;}*p=x;}cout<<"转化为"<<y<<"进制后为:";for(;i>=0;i--){cout<<*p;p--;}cout<<endl;}return 0;}第五章5-1#include<iostream.h>class Date{int year,month,day;public:Date();int NumberOfDays();int y(){return year;}int m(){return month;}int d(){return day;}};Date::Date(){cout<<"请分别输入年月日";cin>>year>>month>>day; }int Date::NumberOfDays(){int sum(0),r;int d[13];if (year%100==0) {if (year%400==0) r=1;else r=0;}else {if (year%4==0) r=1;else r=0;}d[1]=d[3]=d[5]=d[7]=d[8]=d[10]=d[12]=31;d[4]=d[6]=d[9]=d[11]=30;if (r==1) d[2]=29;if (r==0) d[2]=28;for(int i=1;i<month;i++) sum+=d[i];sum+=day;return sum;}void main(){Date a;cout<<a.y()<<"年"<<a.m()<<"月"<<a.d()<<"日是"<<a.y()<<"年的第"<<a.NumberOfDays()<<"天"<<endl;}5-2#include<iostream.h>class Integer{int d;public:void setD(int);int getD(){return d;}void IsOdd();void IsPrime();};void Integer::setD(int m){d=m;}void Integer::IsOdd(){if (d%2==0) cout<<"是偶数"<<endl;else cout<<"不是偶数"<<endl;}void Integer::IsPrime(){int i;for (i=2;i<d;i++)if (d%i==0) break;if (i==d) cout<<"是素数"<<endl;else cout<<"不是素数"<<endl;}void main(){Integer d1,d2;d1.setD(15);d2.setD(31);cout<<15;d1.IsOdd();cout<<15;d1.IsPrime();cout<<31;d2.IsOdd();cout<<31;d2.IsPrime();}5-3#include<iostream.h>class line{double A,B,C;public:line();friend int par(line,line);friend void p(line,line);};line::line(){cout<<"请输入标准方程Ax+By+C=0参数A,B,C"<<endl;cin>>A>>B>>C;}int par(line a,line b){double m,n,p;m=a.A/b.A;n=a.B/b.B;p=a.C/b.C;if (m==n&&n==p) {cout<<"两直线平行"<<endl;return 1;}else {cout<<"两直线相交"<<endl;return 0;}}void p(line a,line b){double x,y;x=(b.C*a.B+a.C*b.B)/(a.A*b.B-b.A*a.B);y=-(b.A*a.C+a.A*b.C)/(a.A*b.B-b.A*a.B);cout<<"交点为("<<x<<","<<y<<")"<<endl; }void main(){line a,b;if (par(a,b)==0) p(a,b);}第八章8-1#include<fstream.h>#include<stdlib.h>void main(){ofstream fout("e:\\file1.txt");if(!fout){cout<<"Cannot open the file!"<<endl;exit(1);}char *str;str=new char[80];cout<<"请输入字符串: "<<endl;cin.get(str,80,'#');fout<<str;fout.close();delete []str;}8-2#include<fstream.h>#include<stdlib.h>void main(){ifstream fin("e:\\file1.txt");if(!fin){cout<<"Cannot open the file!"<<endl;exit(1);}char *str;str=new char[80];fin>>str;cout<<str<<endl;fin.close();delete str;}8-3#include<fstream.h>#include<stdlib.h>int count1(0),count2(0);void main(){char *str,*s1,*s2;int i;str=new char[80];s1=new char[80];s2=new char[80];cout<<"请输入字符串:"<<endl;cin.getline(str,80);for (i=0;i<=80;i++){if (str[i]=='\0') break;else {if (str[i]>='0'&&str[i]<='9') {s1[count1]=str[i];count1++;}else {s2[count2]=str[i];count2++;}}}s1[count1]='\0';s2[count2]='\0';ofstream fout1("e:\\shuzi.txt");if(!fout1){cout<<"Cannot open the file!"<<endl;exit(1);}fout1<<s1;fout1.close();ofstream fout2("e:\\zimu.txt");if(!fout2){cout<<"Cannot open the file!"<<endl;exit(1);}fout2<<s2;fout2.close();delete str,s1,s2;}。