实验一
1 通过日期求某月的天数。
输入日期的年份和月份,求该月有多少天。提示:对于月份为1、3、5、7、8、10、12的月份天数为31,月份为4、6、9、11的月份天数为30,月份为2时要结合年份考虑闰年的情况。
输入描述
输入两个正整数y和m分别表示年份和月份。
输出描述
如果y和m满足条件:1900<=y<3000,0<m<13,输出该月的天数;否则输出“Input error!”。
输入样例
2010 12
输出样例
31
#include"iostream"
using namespace std;
int main()
{
int y,m;
cin>>y>>m;
if (m>0&&m<13&&y>=1900&&y<3000)
{
int a[12]={
31,28,31,30,31,30,31,31,30,31,30,31};
if (y%4==0&&y%100!=0||y%400==0)
a[1]+=1;
cout<<a[m-1];
}
else
cout<<"Input error!";
return 0;
}
- 录取研究生。
题目描述
某高校录取研究生的要求是,新生的每门课成绩不低于60分,总成绩不低于340分,370分以下为自费。编一程序实现输入一个学生的四门课成绩,试判断该生为该校录取的情况(“没有录取”、“自费”、“公费”三种情况)。
输入描述
输入四门课的成绩,成绩均为0~150之间的整数。
输出描述
录取结果。(“没有录取”、“自费”、“公费”)
输入样例
60 100 130 80
输出样例
公费
#include"iostream"
using namespace std;
int main()
{
int a,b,c,d;
while(cin>>a>>b>>c>>d&&a>=0&&a<=150&&b>=0&&b<=150&&c>=0&&c<=150&&d>=0&&d<=150)
{
if (a<60||b<60||c<60||d<60||a+b+c+d<340)
cout<<"没有录取";
else if (a+b+c+d<370)
cout<<"自费";
else
cout<<"公费";
}
return 0;
}
- 骑车与走路。
题目描述
在华农校园里,没有自行车,上课办事会很不方便。但实际上,并非去办任何事情都是骑车快,因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间。假设找到自行车,开锁并骑上自行车的时间为27秒;停车锁车的时间为23秒;步行每秒行走1.2米,骑车每秒行走3.0米。请判断走不同的距离去办事,是骑车快还是走路快。
输入描述
一个整数:为一次办事要行走的距离,单位为米。
输出描述
对输入的整数,如果骑车快,输出一行“Bike”;如果走路快,输出一行“Walk”;如果一样快,输出一行“All”。
输入样例
【样例输入1】 【样例输入2】
50 120
输出样例
【样例输出1】 【样例输出2】
Walk Bike
#include"iostream"
using namespace std;
int main()
{
int s;
double t1,t2;
cin>>s;
t1=s/1.2;
t2=27+23+s/3.0;
if (t1<t2)
cout<<"walk"<<endl;
else if (t1>t2)
cout<<"bike"<<endl;
else
cout<<"All"<<endl;
return 0;
}
4停车场收费
题目描述
一个停车场的标准收费是3小时之内收5元,超过3小时,每增加1小时加收2元;如果时间不是整数,按比例收取,例如:如果输入为3.6小时,则费用为5 + (3.6-3)*2 = 6.2 元。最高收费为40元。假设任何车辆的停车时间都不超过24小时。编写程序,计算每辆车的停车费。
【提示】
要输出浮点数、双精度数小数点后2位数字,可以用下面这种形式:
cout<<fixed<<setprecision(2)<<cost<<endl;
按上面的形式控制输出格式时,需在源程序最开始加上一行:#include
输入描述
输入停车的时间t
输出描述
输出应该收取的停车费用cost,保留小数点后2位
输入样例
3.46
输出样例
5.92
#include"iomanip"
#include"iostream"
using namespace std;
int main()
{
float t;
float cost;
while(cin>>t&&t<24)
{
if (t<=3)
cost=5;
else if (t<=20.5)
cost=5+(t-3)*2;
else
cost=40;
cout<<fixed<<setprecision(2)<<cost<<endl;
}
return 0;
}
- 简单计算器
题目描述
模拟计算器的功能,能根据用户输入的两个运算数和运算符(’+’、 ‘-’、 ‘’ 或‘/ ’),对两个数进行相应的运算,输出运算结果。注意:除法运算‘/ ’的除数不能为0。
输入描述
两个实数a、b和一个运算符号c,它们之间用空格隔开。
输出描述
如果能运算,输出a和b的运算结果;如果c为除号,且b为0,输出“除数为0!”;如果c不是’+’、 ‘-’、 ‘’ 或‘/ ’中的运算符号,输出“运算符号错误!”
输入样例
4 9 *
输出样例
36
#include"iostream"
using namespace std;
int main()
{
float a,b;
char c;
cin>>a>>b>>c;
switch(c)
{
case '+':
cout<<a+b<<endl;
break;
case '-':
cout<<a-b<<endl;
break;
case '*':
cout<<a*b<<endl;
break;
case '/':
{
if (b==0)
cout<<"除数为0!"<<endl;
else
{
cout<<a/b<<endl;
}
break;
}
default:
cout<<"运算符号错误!"<<endl;
}
return 0;
}
实验二
- 数字求和
题目描述
给定一个正整数a,以及另外的5个正整数,问题是:这5个整数中,小于a的整数的和是多少?
输入描述
输入一行,只包括6个小于100的正整数,其中第一个正整数就是a。
输出描述
输出一行,给出一个正整数,是5个数中小于a的数的和。
输入样例
10 1 2 3 4 11
输出样例
10
#include"iostream"
using namespace std;
int main()
{
int a,b[5],i,s;
while(cin>>a&&a>0&&a<100)
{
s=0;
for(i=0;i<5;i++)
{
cin>>b[i];
if (b[i]<0||b[i]>100)
break;
if (b[i]<a)
s+=b[i];
}
cout<<s<<endl;
}
return <