C语言基础练习——结构题
计算日期差【问题描述】 2003 3 25 2003 3 29 【输出样例】 4 |
以前还比较菜,总体是C语言,但放在C++环境下应该也没有问题
#include<stdio.h>
#include"math.h"
#include"string.h"
struct Date
{
int year;
int month;
int day;
};
int main()
{
struct Date day1,day2;
scanf("%d%d%d",&day1.year,&day1.month,&day1.day);
scanf("%d%d%d",&day2.year,&day2.month,&day2.day);
int monthday[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int flag;
if(day1.year!=day2.year)
{
int y;
y=day2.year-day1.year;
flag=(y)*365;
int i;
for(i=day1.year;i<day2.year;i++)
{
if((i%4==0&&i%100!=0)||i%400==0)
{
flag=flag+1;
}
}
int sum1,sum2;
sum1=day1.day;sum2=day2.day;
for(i=0;i<day1.month-1;i++)
sum1+=monthday[i];
if(((day1.year%4==0&&day1.year%100!=0)||day1.year%400==0)&&day1.month>2)
sum1=sum1+1;
for(i=0;i<day2.month-1;i++)
sum2+=monthday[i];
if(((day2.year%4==0&&day2.year%100!=0)||day2.year%400==0)&&day2.month>2)
sum2=sum2+1;
flag=flag-sum1+sum2;
}
else
{
int sum1,sum2,i;
sum1=day1.day;sum2=day2.day;
for(i=0;i<day1.month-1;i++)
sum1+=monthday[i];
if(((day1.year%4==0&&day1.year%100!=0)||day1.year%400==0)&&day1.month>2)
sum1=sum1+1;
for(i=0;i<day2.month-1;i++)
sum2+=monthday[i];
if(((day2.year%4==0&&day2.year%100!=0)||day2.year%400==0)&&day2.month>2)
sum2=sum2+1;
flag=sum2-sum1;
}
printf("%d",flag);
return 0;
}
编写矩形类
【问题描述】
编写程序求长方形的周长和面积
【样例输入输出】
Input the Length and Width: 12 23 The Area is:276 The Premeter:70
#include <iostream>
class Rectangle
{
public:
Rectangle(void);
Rectangle(float length,float width);
~Rectangle(void);
float getArea();
float getGirth();
private:
float mLength;
float mWidth;
};
#include <iostream>
using namespace std;
Rectangle::Rectangle(float mLength,float mWidth)
:mLength(mLength),mWidth(mWidth){}
float Rectangle::getArea()
{
return mLength*mWidth;
}
float Rectangle::getGirth()
{
return (mLength+mWidth)*2;
}
Rectangle::~Rectangle(){
}
int main()
{
float m, n;
cout << "Input the Length and Width: ";
cin >> m >> n;
Rectangle r1(m,n);
cout<<"The Area is: "<<r1.getArea()<<endl;
Rectangle r2(m,n);
cout<<"The Perimeter: "<<r2.getGirth()<<endl;
}