复习课件及试题_第1页
复习课件及试题_第2页
复习课件及试题_第3页
复习课件及试题_第4页
复习课件及试题_第5页
已阅读5页,还剩134页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2022-3-260 0杨杨 琦琦西安交通大学西安交通大学计算机教学实验中心计算机教学实验中心2012.82012.8第2章 习题计算机程序设计(计算机程序设计(C+)2022-3-261 12.温度转换。输入华氏温度,用下列公式将其转温度转换。输入华氏温度,用下列公式将其转换为摄氏温度并输出。换为摄氏温度并输出。样例输入输出样例输入输出18026.6667)32(95FC2022-3-262 2#include using namespace std; int main() double c,f;cinf;c=5.0/9*(f-32);coutcendl;return 0;2022-3-26

2、3 33.编程试求函数编程试求函数 当当x0时的极限。提示:三角函数的值是通过时的极限。提示:三角函数的值是通过数学函数数学函数sin(x)(正弦)、(正弦)、cos(x)(余弦)来计算(余弦)来计算的的(函数使用见附录函数使用见附录)。输入的数值逐步变小,不。输入的数值逐步变小,不要输入要输入0。xxycos1sin2样例输入输出:样例输入输出:输入:输入:10输出:输出:15342022-3-264 4#include #include using namespace std; int main() double x,y;cinx;y=sin(x*x)/(1-cos(x);coutyabc

3、;x=a+b+c;y=x/3.0;z=(int)(y+0.5);coutxendl;coutyendl;coutzx;y0=x/50;x=x%50;y1=x/20;x=x%20;y2=x/10;x=x%10;y3=x/5;x=x%5;y4=x/1;x=x%1;for(int i=0;i5;i+)coutyi ;coutendl; return 0;2022-3-269 97.小写转大写。用户输入小写字母,程序输出对小写转大写。用户输入小写字母,程序输出对应的大写字母。应的大写字母。样例输入输出样例输入输出dD2022-3-261010#include using namespace std;

4、int main() char c;cinc;if(c=a&c=z)c=c-a+A;coutcendl; return 0;2022-3-261111 8.打印打印ASCII码。输入一个字符(可能为字母、码。输入一个字符(可能为字母、数字或标点符号等),在一行中打印该字符及数字或标点符号等),在一行中打印该字符及该字符的该字符的ASCII的十进制、十六进制形式和八进的十进制、十六进制形式和八进制形式,数据之间用制形式,数据之间用 分隔。提示,输出八进制分隔。提示,输出八进制数使用数使用coutoctv;的格式,其中的格式,其中v是待输出的是待输出的整型变量。整型变量。样例输入输出样例输

5、入输出AA 65 41 1012022-3-261212#include #include using namespace std; int main() char c;cinc;coutc (int)c hex(int)c oct(int)cc1c2c3c4;y=c1-0;y=y*10+c2-0;y=y*10+c3-0;y=y*10+c4-0;couty 2*yendl; return 0;2022-3-261515杨杨 琦琦西安交通大学西安交通大学计算机教学实验中心计算机教学实验中心2012.82012.8第3章 习题计算机程序设计(计算机程序设计(C+)2022-3-261616 5.编

6、程计算前编程计算前N个奇数的和,个奇数的和,N由用户输入。如由用户输入。如N=4,和为,和为16,1+3+5+7=16。样例输入输出:样例输入输出:输入:输入:4输出:输出:162022-3-261717#includeusing namespace std;int main() int N,sum,i;cinN;sum=0;for(i=1;i2*N;i=i+2)sum=sum+i;coutsumeps;while(ueps)pi=pi+s*u;n=n+2;s=-s;u=1.0/n;cout4*piendl;return 0;2022-3-262020 10.输入输入n(n13),计算计算1!

7、+2!+3!+4!+.+n!样例输入输出:样例输入输出:输入:输入:6输出:输出:8732022-3-262121#includeusing namespace std;int main()int i,n,u=1,sum=0;/u为通项的值,为通项的值,sum为总和为总和cinn;for(i=1;i=n;i+)u=u*i;sum=sum+u;coutsumn;for(i=1;i=2) fi=fi-1+fi-2;sum+=fi;ai=1.0*fi-1/fi;sum1+=ai;coutfn sumendl;coutan sum1an;for(i=1;i=n;i+)u=u*10+a;sum=sum+

8、u;coutsumendl;return 0;2022-3-262626 14.arcsin(x)写成级数形式为:写成级数形式为:用户输入用户输入x,利用该式,计算反正弦函数的值。,利用该式,计算反正弦函数的值。结束条件可以设为结束条件可以设为|u|x;u=x;arcsinx=x;n=1;while(u=p) u=u*(2*n-1)*(2*n-1)*x*x/2/n/(2*n+1);arcsinx=arcsinx+u;n+;coutarcsinxn;for(i=n-1;i=1;i-) sum=(sum+1)*2;coutsumendl; return 0;2022-3-263030 16.谁是小

9、偷。某小区发生盗窃案,有四个人嫌谁是小偷。某小区发生盗窃案,有四个人嫌疑最大,警察找来讯问,疑最大,警察找来讯问,A说:不是我。说:不是我。B说:是说:是C。C说:是说:是D。D说:他冤枉人。说:他冤枉人。三人中有一人说了假话,请编程分析谁是小偷?三人中有一人说了假话,请编程分析谁是小偷?样例输入输出:样例输入输出:C is a thief2022-3-263131#includeusing namespace std;int main() int x; for(x=1;x=4;x=x+1) if (x!=1)+(x=3)+(x=4)+(x!=4)=3) coutchar(64+x) is a

10、 thiefendl;return 0;2022-3-263232杨杨 琦琦西安交通大学西安交通大学计算机教学实验中心计算机教学实验中心2012.82012.8第4章 习题计算机程序设计(计算机程序设计(C+)2022-3-263333 1. 编写程序,将编写程序,将N(N10)阶方阵转置,例如:)阶方阵转置,例如:117511516835472986411155971648587613242022-3-263434#include using namespace std;int main()double a1010, ta1010;int N=10,M=10;int i, j;cinM;N=

11、M;for(i=0; iM; i=i+1)for(j=0; jaij;2022-3-263535cout 矩阵矩阵a为:为: endl;for(i=0; iN; i=i+1)for(int j=0; jM; j=j+1)cout aij ;cout endl;for(i=0; iN; i=i+1)for(j=0; jM; j=j+1)taij=aji;2022-3-263636cout 矩阵矩阵a的转置阵为:的转置阵为: endl;for(i=0; iN; i=i+1)for(int j=0; jM; j=j+1)cout taij ;cout endl;return 0;2022-3-263

12、737 3. 打印杨辉三角形。打印杨辉三角形。样例输入输出:样例输入输出:输入:输入:6输出:输出:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 12022-3-263838#includeusing namespace std;int main()int a2020;int n,i,j;cinn;for(i=0;i=n;i+)ai0=1;aii=1;for(j=1;ji;j+) aij=ai-1j-1+ai-1j;for(i=0;i=n;i+)for(j=0;j=i;j+)coutaij ;coutn;for(i=0;iai;for

13、(i=0;in/2;i+)if(ai!=an-1-i)y=0;break;if(y=1)cout是对称矩阵是对称矩阵endl;elsecout不是对称矩阵不是对称矩阵endl;return 0;2022-3-264141 7. 编写程序,去掉字符串尾部的空格符编写程序,去掉字符串尾部的空格符 样例输入输出:样例输入输出:The art of computer programming截取前的原始字符串是截取前的原始字符串是: The art of computer programming 截取空格后的字符串是截取空格后的字符串是: The art of computer programming2

14、022-3-264242#includeusing namespace std;char *mytrim(char *string)char *ptr=string;while(*ptr!=0)ptr+;doptr-;while(*ptr= );*(ptr+1)=0;return string;2022-3-264343int main()char str100= The art of computer programming ;cin.getline(str,100);cout 截取前的原始字符串是截取前的原始字符串是: strendl;cout 截取空格后的字符串是截取空格后的字符串是:

15、mytrim(str)endl;return 0;2022-3-2644448. 编写程序,去掉字符串开头的空格符编写程序,去掉字符串开头的空格符 样例输入输出:样例输入输出: The art of computer programming截取前的原始字符串是截取前的原始字符串是: The art of computer programming截取空格后的字符串是截取空格后的字符串是: The art of computer programming2022-3-264545#include#include using namespace std;char *myltrim(char * str

16、ing)char *ptr=string;while(*ptr= )ptr+;strcpy(string, ptr);return string;2022-3-264646int main()char str100 = The art of computer programming;cin.getline(str,100);cout 截取前的原始字符串是截取前的原始字符串是: strendl;cout 截取空格后的字符串是截取空格后的字符串是: myltrim(str)=0&*stringstr;n=myatoi(str);cout转换后整型数值的立方是:转换后整型数值的立方是:n*n

17、*n endl;return 0;2022-3-265050杨杨 琦琦西安交通大学西安交通大学计算机教学实验中心计算机教学实验中心2012.82012.8第5章 习题计算机程序设计(计算机程序设计(C+)2022-3-2651 1函数函数index(t,s)用于确定字符串用于确定字符串t是否是是否是s的子的子串,若不是,则函数返回串,若不是,则函数返回-1,否则返回子串,否则返回子串t在在s中第一次出现时的第一个字符的下标。中第一次出现时的第一个字符的下标。样例输入输出样例输入输出abcdefghijkcdef22022-3-2652int Index(char *s,char *t)int

18、n=strlen(s),m=strlen(t);int i,j;for(j=0;j=n-m;j+)for(i=0;ist;coutIndex(s,t)endl;return 0;2022-3-2654 5求出求出2001000之间所有这样的整数,它们的之间所有这样的整数,它们的各位数字之和等于各位数字之和等于5。样例输入输出样例输入输出203 212 221 230 302 311 320 401 410 5002022-3-2655int main() int x,y,z;for(int i=200;i1000;i+)x=i%10;y=i/10%10;z=i/100%10;if(x+y+z=

19、5)couti ;coutr)。)。样例输入输出样例输入输出3 132022-3-2657int fac(int n)int x=1;if(n1) x=x*n;n-;return x;2022-3-2658int main() int n,r,p;cinnr;p=fac(n)/fac(r)/fac(n-r); coutpendl;return 0;2022-3-2659 7从键盘上输入一个大于从键盘上输入一个大于4的整数,然后将从的整数,然后将从4开始到该数之间的所有整数分解为两个素数之开始到该数之间的所有整数分解为两个素数之和,显示出每个整数的分解情况,例如:和,显示出每个整数的分解情况,例

20、如: 4=2+2,6=3+3,8=3+5等。等。样例输入输出样例输入输出88=3+52022-3-2660int isprime(int n)int i;for(i=2;in;for(int i=2;in;i+) if(isprime(i)&isprime(n-i)coutn=i+n-iendl;break; return 0;2022-3-2662 8编写函数,用选择法对编写函数,用选择法对10个数进行从小到大个数进行从小到大的排序。的排序。样例输入输出样例输入输出141 6334 11478 15724 18467 19169 24464 26500 26962 293582022

21、-3-2663void Sort(int a,int Count)int i,j,x;for(i=0;ii;j-)if(ajx;srand(x);for(i=0;iCount;i+)ai=rand();Sort(a,Count);for(i=0;iCount;i+)coutai ;coutendl;return 0;2022-3-2665 9写一个判断素数的函数,在主调函数中输入写一个判断素数的函数,在主调函数中输入一个整数后,由该函数输出是否是素数的信息。一个整数后,由该函数输出是否是素数的信息。样例输入输出样例输入输出44不是素数不是素数2022-3-2666int isprime(int

22、 n)int i;for(i=2;in;if(isprime(n)coutn是素数是素数endl;elsecoutn不是素数不是素数endl; return 0;2022-3-2668 10编写函数编写函数fun,它的功能是:计算正整数,它的功能是:计算正整数n的除的除1和和n之外的所有因子之和,并返回此值。之外的所有因子之和,并返回此值。样例输入输出样例输入输出422022-3-2669int factor(int n)int i,y=0;for(i=2;in;coutfactor(n)endl; return 0;2022-3-2671 11编写函数编写函数fun,它的功能是:计算下列级数

23、,它的功能是:计算下列级数的和,并返回此值。(其中的和,并返回此值。(其中n和和x由键盘输入)由键盘输入) S=1+x+x2/2!+x3/3!+xn/n!,样例输入输出样例输入输出1 122.718282022-3-2672double fun(double x,double n) double s=1;double i=1,a=1;for(i=1;ixn;coutfun(x,n)endl;return 0;2022-3-2674 12编写函数编写函数fun,它的功能是:计算,它的功能是:计算1n之间之间能同时被能同时被3、5和和7整除的所有自然数之和,并返整除的所有自然数之和,并返回此值。回

24、此值。样例输入输出样例输入输出2001052022-3-2675int fun(int n)int s=0,i=0;while (in;coutfun(n)endl;return 0;2022-3-2677 13. 从键盘输入两个整数从键盘输入两个整数m和和n,然后从,然后从m+1开始开始找出大于找出大于m的的n个素数。个素数。样例输入输出样例输入输出5 67 11 13 17 19 232022-3-2678bool isprime(int b)int a;for(a=2;amn;for(i=m+1;sn;i+) if(isprime(i)couti ;s=s+1;coutendl;retu

25、rn 0;2022-3-2680 14. 从键盘输入从键盘输入10个字符串,找出其中最大者个字符串,找出其中最大者并输出,假定每个字符串长度不超过并输出,假定每个字符串长度不超过80个字符。个字符。样例输入样例输入January February March April May June July August September October输出输出September2022-3-2681int main()string a10; int j;for(j=0;jaj;string max=a0;int i;for(i=1;imax)max=ai;coutmaxx0 x1;while(f(x

26、0)*f(x1)0);dox2=x0-(x0-x1)/(f(x0)-f(x1)*f(x0);if(f(x2)*f(x1)0)x1=x2;if(f(x2)*f(x0)0)x0=x2;while(fabs(f(x2)EPS);coutx2endl;return 0;2022-3-2685 17.使用梯形法计算定积分的值。使用梯形法计算定积分的值。样例输入输出样例输入输出0 1 10000.4596981010)1(a) 1()(2)()(ninihiaihabhiafihafhxfxf11)(2)()(niihafbfafh2022-3-2686#include #include using na

27、mespace std;double fun(double x)return sin(x);2022-3-2687int main()double a=0,b=1,s=0,h ;int i,n;cinabn;h=(b-a)/n;s=(fun(a)+fun(b)/2;for(i=1;in;i+)s=s+fun(a+i*h);couts*hendl;return 0;2022-3-268888杨杨 琦琦西安交通大学西安交通大学计算机教学实验中心计算机教学实验中心2012.102012.10第6章 习题计算机程序设计(计算机程序设计(C+)2022-3-2689 2. 从键盘输入从键盘输入10个字符

28、串,假定每个字符串长个字符串,假定每个字符串长度不超过度不超过80个字符,然后对这个字符,然后对这10个字符串进行个字符串进行排序,最后输出排序后的结果。排序,最后输出排序后的结果。样例输入输出样例输入输出abc acd fui miu cad gji bui loi hio iklabc acd bui cad fui gji hio ikl loi miu2022-3-2690void mysort(string *p,int count)string s;for(int i=0;icount-1;i+)for(int j=0;jpj+1)s=pj;pj=pj+1;pj+1=s;2022-

29、3-2691int main()string p10;int i;for(i=0; ipi;mysort(p,10);for(i=0; i10; i+)coutpi ;coutendl;return 0 ;2022-3-2692 3编写函数,求出一个字符串的长度,要求使编写函数,求出一个字符串的长度,要求使用地址传递。用地址传递。样例输入输出样例输入输出jskdlfjklsjfl132022-3-2693int mystrlen(char *s)int m=0;while(*s!=0)s+;m+;return m;2022-3-2694int main()char *p= new char 2

30、00;int n=0;/cout请输入字符串请输入字符串:p;n=mystrlen(p);coutnendl;return 0 ;2022-3-2695 4. 编写函数,将一个字符串中指定的字符删去,编写函数,将一个字符串中指定的字符删去,然后输出新的字符串。然后输出新的字符串。样例输入输出样例输入输出jlkdjfdk djlkjfk2022-3-2696#include #include using namespace std;char* mydelchr(char *s,char d)char t200; int i=0,j=0;while(si!=0)if(si=d)i+;elsetj+

31、=si+;tj=0;strcpy(s,t);return s;2022-3-2697int main()char str200;char ch;cinstr;cinch;mydelchr(str,ch);coutstrendl;return 0 ;2022-3-2698 5用指针数组保存用指针数组保存12个月份的英文名称,输入个月份的英文名称,输入一个月份后,显示该月的英文名称,例如,输一个月份后,显示该月的英文名称,例如,输入入1,则显示,则显示“January”,如果输入的月份值不在,如果输入的月份值不在112之间,则显示之间,则显示“Input Error”信息。信息。样例输入输出样例输

32、入输出12December2022-3-2699int main()char *p13=Input Error,January,February,March,April,May,June,July,August,September,October,November,December;int i ;/cout请输入月份数值请输入月份数值:i;if(i=0)&(i=12)coutpi=A & *str=a & *str=z)*str=*str-a+A;str+;return p;2022-3-26102int main()char *p= new char 200;/cou

33、t请输入字符串请输入字符串:p;p=Convert(p);coutpendl;return 0 ;2022-3-26103 7编写函数,统计一个字符串中的大写字母、编写函数,统计一个字符串中的大写字母、小写字母、数字字符和其他字符的个数。小写字母、数字字符和其他字符的个数。样例输入输出样例输入输出asdfJKLM,.1234大写字母个数为大写字母个数为:4小写字母个数为小写字母个数为:4数字字符个数为数字字符个数为:4其他字符个数为其他字符个数为:42022-3-26104int main()char *p,str 200;int i=0,j=0,k=0,length=0;/cout请输入字符

34、串请输入字符串:str;for(p=str;*p!=0;p+)if(*p=A & *p=a & *p=0 & *p=9) k+;length+;2022-3-26105cout大写字母个数为大写字母个数为:iendl;cout小写字母个数为小写字母个数为:jendl;cout数字字符个数为数字字符个数为:kendl;cout其他字符个数为其他字符个数为:length-i-j-kendl;return 0 ;2022-3-26106 学好程序设计语言的唯一途径是学好程序设计语言的唯一途径是 你的编程能力与你在计算机上投入的时间成你的编程能力与你在计算机上投入的时间成 大学

35、大学C+程序设计教程程序设计教程综合复习综合复习主讲:杨振平主讲:杨振平计算机教学实验中心计算机教学实验中心E-mailE-mail:上网费用结算程序。键盘输入上网时间(单位:小时)和每小时的上上网费用结算程序。键盘输入上网时间(单位:小时)和每小时的上网费用网费用(单位:元)单位:元) ,计算并输出上网费用。若上网时间超过,计算并输出上网费用。若上网时间超过8小时,则小时,则超过部分按超过部分按60%计费(结果按四舍五入法保留计费(结果按四舍五入法保留1位小数)。位小数)。评分标准:评分标准:程序框架完整,代码规范(程序框架完整,代码规范(20)数据类型的定义和使用方法正确数据类型的定义和使

36、用方法正确 (20)程序控制结构使用正确(程序控制结构使用正确(20)算法正确,清晰合理(算法正确,清晰合理(20)运行结果正确,输入和输出格式如下所示(运行结果正确,输入和输出格式如下所示(20%)输入上网时间:10输入每小时上网费用:1上网费用:9.2元/计算上网费用计算上网费用#include #include using namespace std;int main()double h,f,t;couth;coutf;if(h8)t=8*f+(h-8)*f*0.6;elset=h*f; coutfixedsetprecision(1);cout上网费用:上网费用:t元元endl;ret

37、urn 0;/计算上网费用计算上网费用#include #include using namespace std;int main()double h,f,t;couth;coutf;if(h8)t=8*f+(h-8)*f*0.6;elset=h*f;coutfixed;cout上网费用:上网费用:setprecision(1)t元元endl;return 0;定义表示空间点的类定义表示空间点的类Point ,数据成员用变量,数据成员用变量X、Y和和Z,分,分别表示点的三维坐标。再定义表示球体的类别表示点的三维坐标。再定义表示球体的类Sphere,它以公有,它以公有方式继承方式继承Point,

38、以该点为球心并增加数据成员,以该点为球心并增加数据成员R表示球体半径。表示球体半径。基类中有计算该点到坐标原点距离的函数,派生类中有计算球基类中有计算该点到坐标原点距离的函数,派生类中有计算球体表面积和体积的函数。另外,基类和派生类都有构造函数,体表面积和体积的函数。另外,基类和派生类都有构造函数,并且可以通过构造函数直接设定数据成员。并且可以通过构造函数直接设定数据成员。编写测试代码,在主函数中输入球心坐标及半径,然后输出编写测试代码,在主函数中输入球心坐标及半径,然后输出球心到原点距离、球体表面积和体积。球心到原点距离、球体表面积和体积。评分标准:评分标准:程序框架完整,代码规范(程序框架

39、完整,代码规范(20)基类与派生类的结构声明正确,数据成员声明正确(基类与派生类的结构声明正确,数据成员声明正确(20)构造函数及其他成员函数的定义方法正确(构造函数及其他成员函数的定义方法正确(20%)主函数中的类对象的声明、使用方法正确(主函数中的类对象的声明、使用方法正确(20)运行结果正确,输入和输出格式如下所示(运行结果正确,输入和输出格式如下所示(20%)输入部分:请输入球心坐标: 1 1 1请输入球体半径: 1输出部分:球心到原点距离: 1.73205球体表面积: 12.5664球体体积: 4.18879/类与继承类与继承#include #include #include us

40、ing namespace std;class Pointprivate:int x,y,z;public:Point(int a,int b,int c)x=a;y=b;z=c;double Dis()return sqrt(x*x+y*y+z*z);class Sphere:public Pointprivate:double R;public:Sphere(int a,int b,int c,double r):Point(a,b,c)R=r;double Area()return 4*3.14159*R*R;double Volume()return 4.0/3.0*3.14159*R

41、*R*R;int main()int x,y,z,r;coutxyz; coutr;Sphere s(x,y,z,r);cout球心到原点距离球心到原点距离: s.Dis()endl;cout球体表面积球体表面积: s.Area()endl;cout球体体积球体体积: s.Volume()endl;coutendl;return 0;定义一个基类定义一个基类shape,包含计算面积的虚函数。再由此,包含计算面积的虚函数。再由此派生出长方形类(派生出长方形类(rectangle)和圆类()和圆类(circle)。其中长方)。其中长方形类中添加数据成员形类中添加数据成员:长和宽,圆类中添加数据成员

42、:圆长和宽,圆类中添加数据成员:圆的半径;两个派生类中均包含带参数的构造函数并为数据的半径;两个派生类中均包含带参数的构造函数并为数据成员初始化,均定义虚函数分别计算各自的面积。编写主成员初始化,均定义虚函数分别计算各自的面积。编写主函数,通过定义指向基类指针,分别指向长方形和圆类的函数,通过定义指向基类指针,分别指向长方形和圆类的对象,计算并输出相应图形的面积。输入输出格式如下:对象,计算并输出相应图形的面积。输入输出格式如下: 输入长方形的长和宽:输入长方形的长和宽:3.0 4.0输入圆的半径:输入圆的半径:2.0长方形的面积为:长方形的面积为:12圆的面积为:圆的面积为:12.5664/

43、虚函数的应用虚函数的应用#include using namespace std;class shape public:virtual double area()=0;class rectangle:public shape private:double len,width; public:rectangle(double l,double w)len=l;width=w;virtual double area()return len*width;class circle:public shapeprivate:double radius;public:circle(double r) rad

44、ius=r;virtual double area()return 3.14159*radius*radius;int main()shape *p;double l,w,r;coutlw; coutr;coutendl;rectangle rec(l,w);circle cir(r);p=&rec;cout长方形的面积为:长方形的面积为:area()endl;p=○ cout圆的面积为:圆的面积为:area()endl;return 0;找出找出1000-2000之间所有整数中满足如下条之间所有整数中满足如下条件的数:该数的高端两位数字的和与低端件的数:该数的高端两位

45、数字的和与低端两位数字的和值相等,如两位数字的和值相等,如1001, 1120。程序。程序能输出所有满足条件的数以及它们的总个能输出所有满足条件的数以及它们的总个数。数。/循环的应用循环的应用#include using namespace std;int main()int n,a,b,c,d,s=0;cout满足条件的数是:满足条件的数是:endl;for(n=1000;n=2000;n+)a=n/1000;b=n/100%10;c=n/10%10;d=n%10;if(a+b=c+d) coutnt; s+;coutendl;cout总个数为:总个数为:sendl;return 0; 将下

46、列学生成绩数据写入文件将下列学生成绩数据写入文件”score.txt”,张三张三 90 80 85 李一李一 89 78 96赵四赵四 78 90 87吴五吴五 88 99 90然后读出文件中的数据,并计算出总分,并按然后读出文件中的数据,并计算出总分,并按下列格式输出到屏幕。下列格式输出到屏幕。姓名姓名 高数高数 物理物理 英语英语 总分总分张三张三 90 80 85 255李一李一 89 78 96 263赵四赵四 78 90 87 255吴五吴五 88 99 90 277 /文件操作文件操作#include #include using namespace std;int main()

47、ofstream out(score.txt); if(!out) coutFile not found!; return 1; out张三张三 90 80 85 endl; out李一李一 89 78 96 endl; out赵四赵四 78 90 87 endl; out吴五吴五 88 99 90 endl; out.close();ifstream in(score.txt);cout姓名姓名t高数高数t物理物理t英语英语t总分总分endl;char name7;float c1,c2,c3,c;if(!in) coutnamec1c2c3;while(in) c=c1+c2+c3; if

48、(in)coutnametc1tc2tc3tcnamec1c2c3; in.close(); return 0;写一函数,原形为:写一函数,原形为: void reverse(int x,int start, int end);功能是将功能是将x数组中下标从数组中下标从start到到end之间的元素逆置。并之间的元素逆置。并在主函数中定义数组在主函数中定义数组a,初始值为:,初始值为:23,43,12,3,5,7,19,41,56,78,90。输出下标从。输出下标从0到到4和和5到最后一个元素到最后一个元素逆置后的结果。逆置后的结果。结果为:结果为:5 3 12 43 23 90 78 56

49、41 19 7/数组、指针与函数数组、指针与函数#include using namespace std;void reverse(int x,int start,int end)int t;int *s,*e;for(s=&xstart,e=&xend;se;s+,e-) t=*s; *s=*e; *e=t;int main() void reverse(int x,int start,int end); int a=23,43,12,3,5,7,19,41,56,78,90; reverse(a,0,4); reverse(a,5,10); for(int i=0;i11;

50、i+) coutai ; coutendl; return 0; 题目一:文件操作,题目:题目一:文件操作,题目: 在当前工程所在目录中创在当前工程所在目录中创建文本文件建文本文件123.txt,123.txt,内容如下:内容如下:This is a This is a sample., sample., 然后在屏幕上显示文件内容,同时能够计然后在屏幕上显示文件内容,同时能够计算出文件的大小(即字符数)。算出文件的大小(即字符数)。 编程要求:编程要求: (1 1)程序框架完整,代码规范()程序框架完整,代码规范(2020) (2 2)文件的打开与关闭方法正确,能处理新建文件失)文件的打开与关

51、闭方法正确,能处理新建文件失败的情形(败的情形(20%20%) (3 3)数据类型、程序控制结构使用正确()数据类型、程序控制结构使用正确(2020) (4 4)算法正确,清晰合理()算法正确,清晰合理(2020) (5 5)运行结果正确,文件内容正确显示到屏幕上,并)运行结果正确,文件内容正确显示到屏幕上,并显示该文件有多少字节(显示该文件有多少字节(20%20%) 运行过程如下:运行过程如下: 文件内容如下:文件内容如下: This is a sample.This is a sample. 文件长度为:文件长度为:1717#include #include using namespace

52、 std;int main()ofstream out(123.txt);if(!out)coutFile not opened error!;return 1;out“This is a sample.”; /创建创建123.txt文件文件out.close();ifstream in(123.txt);if(!in)coutFile not found!;return 2;char ch; int count=0;cout文件内容如下:文件内容如下:endl; in.get(ch); while(in) cout.put(ch); count+; in.get(ch); coutendl;

53、cout文件长度为:文件长度为:count105n!105时为止,时为止,并输出满足条件后的并输出满足条件后的s s值和对应的值和对应的n n值。值。 (1)( )21(110)311(10)xxf xxxxxn键盘输入键盘输入n n个浮点数个浮点数(n50), (n50), 求其平均值,并统计出高求其平均值,并统计出高于平均值(包括平均值)的浮点数的个数。程序中输出以于平均值(包括平均值)的浮点数的个数。程序中输出以下结果:平均值、高于平均值的各个数以及高于平均值的下结果:平均值、高于平均值的各个数以及高于平均值的数的个数。数的个数。n按照如下数列的规律,输出前按照如下数列的规律,输出前n

54、n项各数据值。数列如下:项各数据值。数列如下:n 0, 1, 3, 6, 10, 15, 21, 0, 1, 3, 6, 10, 15, 21, n找出从找出从10011001开始的开始的5050个素数。所谓素数,指该数只有个素数。所谓素数,指该数只有1 1和和其本身两个约数,再无别的约数。其本身两个约数,再无别的约数。n设计一个设计一个PointPoint类,包含其坐标类,包含其坐标x x和和y y两个属性以及对这些两个属性以及对这些属性操作的方法。实现并测试这个类。要求:所有的属性属性操作的方法。实现并测试这个类。要求:所有的属性声明为私有的数据成员;声明为私有的数据成员; 设计一个构造函

55、数,在创建对设计一个构造函数,在创建对象时可以对所有属性赋值;象时可以对所有属性赋值; 设计成员函数设计成员函数ShowMe()ShowMe(),能,能够输出类的所有数据成员够输出类的所有数据成员; ;编写测试用主函数,创建编写测试用主函数,创建2 2个个PointPoint类对象,分别输入他们的坐标,并调用类对象,分别输入他们的坐标,并调用ShowMe()ShowMe()进进行输出。行输出。n设计一个设计一个CircleCircle类,其属性有圆心坐标类,其属性有圆心坐标x x和和y y,半径,半径r r。实。实现并测试这个类。现并测试这个类。n 编程要求:编程要求:n(1 1)所有的属性声明为私有的数据成员;)所有的属性声明为私有的数据成员; n(2 2)设计成员函数)设计成员函数void Set(int,int,double)void Set(int,int,double),可以通,可以通过参数对所有属性赋值;过参数对所有属性赋值; n(3 3)设计成员函数)设计成员函数double Area()double Area(),能够计算圆的面积;,能够计算圆的面积; n(4 4)编写

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论