北邮C实验二作业.docx
《北邮C实验二作业.docx》由会员分享,可在线阅读,更多相关《北邮C实验二作业.docx(14页珍藏版)》请在冰豆网上搜索。
北邮C实验二作业
3.3实验题一、基础题1.修改下列程序中的语法错误。
#includeusingnamespacestd;voidmain()
{intchoice=0;do{<请选择下面功能菜单.\n;1.调用浏览学生信息模块cout<<
.调用查询学生信息模块2.\n;cout<<
.调用增加学生信息模块.\n;cout<<3.调用修改学生信息模块.\n;cout<<4:
\n;(1~4)请输入数字cout<<
cin>>choice;if(choice<1||choice>4)重新输入:
;捻畯?
尼输入错误!
continue;
}switch(choice);case1:
cout<<执行浏览学生信息程序{
break;
;case2:
cout<<执行查询学生信息程序
break;
执行增加学生信息程序;case3:
cout<<
break;
;case4:
cout<<执行修改学生信息程序
break;
}}while(choice<0);cout<程序结束!
system(pause);}
2.在下列程序中填上适当的语句,打印200以内所有的质数,并对有注释标记的语句进行功能注释。
#include
#include
usingnamespacestd;
1
voidmain()
{intj,flage;doublei,k;for(i=2;i<=200;i++){flage=1;
做开平方处理对i//k=sqrt(i);
for(j=2;j<=k;j++)
{
i是否有因数//判断if((int)i%j==0)
{flage=0;
break;}
}
i;若i是素数,则flage=1//关于i是否为素数的开关(若if(flage)
)不是素数,则flage=0;cout<
}system(pause);}
3.修改下列程序,并输出结果,输出示例见图3-1。
要求:
对循环体进行注释。
#include
usingnamespacestd;
voidmain()
{
inti,j;
j=20;
for(i=0;i<=5;i++)//对i进行for循环
{cout<
j=i+j*3;}//对j进行赋值运算
cout<
cout<system(pause);
}
2
-2。
并对有注释标记的语句进行功能注释。
修改下列程序,输出结果如图3.4#includeusingnamespacestd;voidmain()
{inti,j;
进行循环//对第一个变量ifor(i=1;i<=9;i++)
对第二个变量j进行循环//{for(j=1;j<=i;j++)
;cout<换行//cout<system(pause);
}3
.在下列程序中填上适当的语句,完成统计售货员一天的销售额和接待顾客的人数,并对5。
-3有注释标记的语句进行功能注释。
输出示例见图3#includeusingnamespacestd;voidmain()
{charx;
floatsum=0,sum1,m,p=0;
;潣瑵?
请输入营业员的密码:
cin>>x;
54或2或3或//营业员的密码为1或if(x=='1'||x=='2'||x=='3'||x=='4'||x=='5')
//对每次收费进行循环{do
{sum1=0;
请分别输入用户购买商品的价格<//对商品个数进行循环for(inti=1;i<=10000;i++)
;第?
椼?
商品价格为:
{潣瑵?
输入商品价格//cin>>m;
就停止或0//如果m=1111if(m==1111||m==0)
break;
//计算总的营业额sum1=sum1+m;
}
cout<<cout<对销售的商品数量进行计数//p++;
sum=sum+sum1;
4
}while(m);}
else
;潣瑵?
请退出收银台,谢谢!
:
<今天商店的营业额为
<瀼?
人潣瑵?
今天接待消费客人共:
system(pause);
}
二、编程题.设计一个程序,验证进入程序密码的正确性。
仿真让用户输入六位数字的密码,且提供1,重新输入!
否则则显示密码错,三次输入机会,输入正确则显示欢迎使用财会报表程序,连续输入三次错误后,则显示拒绝使用财会报表软件并结束程序。
#includeusingnamespacestd;voidmain()
{请输入六位数字程序密码:
潣瑵?
;
floata=123456;
floatb;
cin>>b;
if(b==a)潣瑵?
欢迎使用财会报表程序!
<else
5
捻畯?
尼密码错,重新输入!
<cin>>b;
if(b==a)
潣瑵?
欢迎使用财会报表程序!
<else
捻畯?
尼密码错,重新输入!
<cin>>b;
if(b==a)
潣瑵?
欢迎使用财会报表程序!
<else
潣瑵?
连续三次输入错误,拒绝使用财会报表软件并结束程序!
<system(pause);
}
6
是指一个三位数,。
“水仙花数”“水仙花数”100到999以内的所有.2设计一个程序,求出4999以内共有其各位数字的立方和恰好等于该数本身。
例如370=3*3*3+7*7*7+0,在个水仙花数。
#includeusingnamespacestd;voidmain()
{inti,a,b,c;
for(i=100;i<1000;i++)
{a=(i/100)*(i/100)*(i/100);
b=((i/10)_x0010_)*((i/10)_x0010_)*((i/10)_x0010_);
c=(i_x0010_)*(i_x0010_)*(i_x0010_);
if(a+b+c==i)
cout<
system(pause);
}
7
月、53月、3.设计一个程序,输入年、月,打印出该年该月的天数。
提示:
每年的1月、天;闰年判断方月份是30月、9月、11月、12月份是31天,4月、67月、8月、10整除,则整除,而不能被100400整除,则是闰年;如果年号能被4法:
如果年号能被天。
29天,平年为28是闰年,闰年的2月份为#includeusingnamespacestd;intleapyear(inta);voidmain()
{intyear,month;
;潣瑵?
请输入年份:
cin>>year;
请输入月份:
;潣瑵?
cin>>month;
if(leapyear(year))
switch(month)
{
case1:
<潭瑮?
尼月为break;
case2:
潣瑵?
潭瑮?
尼月为29天<break;
case3:
潣瑵?
潭瑮?
尼月为31天<break;
8
case4:
潣瑵?
潭瑮?
尼月为30天<break;
case5:
潣瑵?
潭瑮?
尼月为31天<break;
case6:
潣瑵?
潭瑮?
尼月为30天<case7:
潣瑵?
潭瑮?
尼月为31天<break;
case8:
潣瑵?
潭瑮?
尼月为31天<break;
case9:
潣瑵?
潭瑮?
尼月为30天<break;
case10:
潣瑵?
潭瑮?
尼月为31天<break;
case11:
潣瑵?
潭瑮?
尼月为30天<break;
case12:
潣瑵?
潭瑮?
尼月为31天<break;
default:
潣瑵?
输入错误,请重新输入!
;
}
else
switch(month)
{
case1:
潣瑵?
潭瑮?
尼月为31天<break;
case2:
潣瑵?
潭瑮?
尼月为28天<break;
case3:
潣瑵?
潭瑮?
尼月为31天<break;
case4:
潣瑵?
潭瑮?
尼月为30天<break;
9
case5:
潣瑵?
潭瑮?
尼月为31天<break;
case6:
潣瑵?
潭瑮?
尼月为30天<case7:
潣瑵?
潭瑮?
尼月为31天<break;
case8:
潣瑵?
潭瑮?
尼月为31天<break;
case9:
潣瑵?
潭瑮?
尼月为30天<break;
case10:
潣瑵?
潭瑮?
尼月为31天<break;
case11:
潣瑵?
潭瑮?
尼月为30天<break;
case12:
潣瑵?
潭瑮?
尼月为31天<break;
default:
潣瑵?
输入错误,请重新输入!
;
}
system(pause);
}
intleapyear(intyear)
{
if(year_x0010_0==0)
{if(year@0==0)
return1;
else
return0;}
else
if(year%4==0)
return1;
else
return0;
}
10
阶的实心菱形。
5.设计一个程序,打印下列阶的实心菱形。
提高题:
打印出n4*
********
****************
****************
#include#includeusingnamespacestd;voidmain()
{inti=1,j,n;
:
;潣瑵?
请输入一个正整数ncin>>n;
while(i<=n)
{
i)/2);j++)for(j=1;j<=((n-
cout<<;
for(j=1;j<=i;j++)
cout<<*;
for(j=1;j<=((n-i)/2);j++)
cout<<;
cout<i=i+2;
}
11
i=i-2;
while(i>0)
{
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<<;
cout<i=i-2;
}
system(pause);
}
12
.设计一程序,输入一串字符,分别统计出其中英文字母、空格、数字和其他字符的个5数并打印统计结果。
#includeusingnamespacestd;voidmain()
{intletter=0,number=0,sign=0,space=0;
intk=0;
constintn=1000;
charbuffer[n];
<请输入一行字符:
cin.getline(buffer,n,'\n');
while(buffer[k]!
='\0')
{if(((int)buffer[k]>=65&&(int)buffer[k]<=90)||((int)buffer[k]>=97&&(int)buffer[k]<=122))
letter++;
if((int)buffer[k]>=48&&(int)buffer[k]<=57)
number++;
if(((int)buffer[k]>=33&&(int)buffer[k]<=47)||((int)buffer[k]>=58&&(int)buffer[k]<=64)|
|((int)buffer[k]>=91&&(int)buffer[k]<=96)||((int)buffer[k]>=123&&(int)buffer[k]<=126))sign++;
if((int)buffer[k]==32)
space++;
k++;
}
<字母的个数是:
13
<数字的个数是:
字符的个数是:
<空格的个数是:
<system(pause);}
.编写一个程序,统计文本文件中的字符数。
6#include
usingnamespacestd;
voidmain()
{
intx=0,k=0;
constintn=10000;
charfilename[n];
;潣瑵?
请输入文件名:
cin>>filename;
while((int)filename[k]!
=27)
{
x++;
k++;
};
<字符的个数是:
system(pause);
}
14
15