1、北邮C+实验二作业3.3 实验题一、基础题1. 修改下列程序中的语法错误。#includeusing namespace std;void main() int choice=0;docout请选择下面功能菜单endl;cout 1调用浏览学生信息模块.n;cout 2调用查询学生信息模块.n;cout 3调用增加学生信息模块.n;cout 4调用修改学生信息模块.n;coutchoice;if(choice4)cout输入错误!重新输入:; continue;switch(choice) case 1:cout 执行浏览学生信息程序; break; case 2:cout 执行查询学生信息程
2、序; break; case 3:cout 执行增加学生信息程序; break; case 4:cout 执行修改学生信息程序; break;while(choice0);coutendl;cout程序结束!endl;system(pause);2在下列程序中填上适当的语句,打印200以内所有的质数,并对有注释标记的语句进行功能注释。#include#includeusing namespace std;void main() int j,flage;double i,k;for(i=2;i=200;i+) flage=1; k=sqrt(i); /对i做开平方处理 for(j=2;j=k;j
3、+) if(int)i%j=0) /判断i是否有因数 flage=0; break; if(flage) /关于i是否为素数的开关(若i是素数,则flage=1;若i不是素数,则flage=0) couti ;system(pause);3修改下列程序,并输出结果,输出示例见图3-1。要求:对循环体进行注释。#includeusing namespace std;void main() int i,j; j=20; for(i=0;i=5;i+) /对i进行for循环 couti=i j=j endl; /输出i,j j=i+j*3; /对j进行赋值运算 couti=iendl; coutj=
4、jendl; system(pause);4修改下列程序,输出结果如图3-2。并对有注释标记的语句进行功能注释。#includeusing namespace std;void main() int i,j; for(i=1;i=9;i+) /对第一个变量i进行循环 for(j=1;j=i;j+) /对第二个变量j进行循环 coutj*i=j*i ; coutendl; /换行 system(pause);5在下列程序中填上适当的语句,完成统计售货员一天的销售额和接待顾客的人数,并对有注释标记的语句进行功能注释。输出示例见图3-3。#includeusing namespace std;voi
5、d main() char x; float sum=0,sum1,m,p=0; coutx; if(x=1|x=2|x=3|x=4|x=5) /营业员的密码为1或2或3或4或5 do /对每次收费进行循环 sum1=0; cout请分别输入用户购买商品的价格endl; for(int i=1;i=10000;i+) /对商品个数进行循环 cout第im; /输入商品价格 if(m=1111|m=0) /如果m=1111或0就停止 break; sum1=sum1+m; /计算总的营业额 coutendl; cout 请付款为sum1; coutendl; p+; /对销售的商品数量进行计数
6、sum=sum+sum1 ; while(m); else cout请退出收银台,谢谢! ; cout今天商店的营业额为:sumendl; cout今天接待消费客人共:p人endl; system(pause);二、编程题1设计一个程序,验证进入程序密码的正确性。仿真让用户输入六位数字的密码,且提供三次输入机会,输入正确则显示欢迎使用财会报表程序,否则则显示密码错,重新输入!,连续输入三次错误后,则显示拒绝使用财会报表软件并结束程序。#includeusing namespace std;void main() coutb; if(b=a) cout欢迎使用财会报表程序!endl; else
7、cout密码错,重新输入!b; if(b=a) cout欢迎使用财会报表程序!endl; else cout密码错,重新输入!b; if(b=a) cout欢迎使用财会报表程序!endl; else cout连续三次输入错误,拒绝使用财会报表软件并结束程序!endl; system(pause);2设计一个程序,求出100到999以内的所有“水仙花数”。“水仙花数”是指一个三位数,其各位数字的立方和恰好等于该数本身。例如370=3*3*3+7*7*7+0,在999以内共有4个水仙花数。#includeusing namespace std;void main() int i,a,b,c; fo
8、r(i=100;i1000;i+) a=(i/100)*(i/100)*(i/100); b=(i/10)%10)*(i/10)%10)*(i/10)%10); c=(i%10)*(i%10)*(i%10); if(a+b+c=i) coutiendl; system(pause);3设计一个程序,输入年、月,打印出该年该月的天数。提示:每年的1月、3月、5月、7月、8月、10月、12月份是31天,4月、6月、9月、11月份是30天;闰年判断方法:如果年号能被400整除,则是闰年;如果年号能被4整除,而不能被100整除,则是闰年,闰年的2月份为 29天,平年为28天。#includeusing
9、 namespace std;int leapyear(int a);void main() int year,month; coutyear; coutmonth; if(leapyear(year) switch(month) case 1: coutmonth月为31天endl; break; case 2: coutmonth月为29天endl; break; case 3: coutmonth月为31天endl; break; case 4: coutmonth月为30天endl; break; case 5: coutmonth月为31天endl; break; case 6: c
10、outmonth月为30天endl; case 7: coutmonth月为31天endl; break; case 8: coutmonth月为31天endl; break; case 9: coutmonth月为30天endl; break; case 10: coutmonth月为31天endl; break; case 11: coutmonth月为30天endl; break; case 12: coutmonth月为31天endl; break; default: cout输入错误,请重新输入!; else switch(month) case 1: coutmonth月为31天e
11、ndl; break; case 2: coutmonth月为28天endl; break; case 3: coutmonth月为31天endl; break; case 4: coutmonth月为30天endl; break; case 5: coutmonth月为31天endl; break; case 6: coutmonth月为30天endl; case 7: coutmonth月为31天endl; break; case 8: coutmonth月为31天endl; break; case 9: coutmonth月为30天endl; break; case 10: coutmo
12、nth月为31天endl; break; case 11: coutmonth月为30天endl; break; case 12: coutmonth月为31天endl; break; default: cout输入错误,请重新输入!; system(pause);int leapyear(int year) if(year%100=0) if(year%400=0) return 1; else return 0; else if(year%4=0) return 1; else return 0;4设计一个程序,打印下列5阶的实心菱形。提高题:打印出n阶的实心菱形。* * * * * *
13、*#include#includeusing namespace std;void main() int i=1,j,n; coutn; while(i=n) for(j=1;j=(n-i)/2);j+) cout ; for(j=1;j=i;j+) cout*; for(j=1;j=(n-i)/2);j+) cout ; cout0) for(j=1;j=(n-i)/2);j+) cout ; for(j=1;j=i;j+) cout*; for(j=1;j=(n-i)/2);j+) cout ; coutendl; i=i-2; system(pause);5设计一程序,输入一串字符,分别
14、统计出其中英文字母、空格、数字和其他字符的个数并打印统计结果。#includeusing namespace std;void main() int letter=0,number=0,sign=0,space=0; int k=0; const int n=1000; char buffern; cout请输入一行字符:=65&(int)bufferk=97&(int)bufferk=48&(int)bufferk=33&(int)bufferk=58&(int)bufferk=91&(int)bufferk=123&(int)bufferk=126) sign+; if(int)buffe
15、rk=32) space+; k+; cout字母的个数是:letterendl; cout数字的个数是:numberendl; cout字符的个数是:signendl; cout空格的个数是:spaceendl; system(pause);6编写一个程序,统计文本文件中的字符数。#includeusing namespace std;void main() int x=0,k=0; const int n=10000; char filenamen; coutfilename; while(int)filenamek!=27) x+; k+; ; cout字符的个数是:xendl; system(pause);
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2