#include
using namespace std;
int main(){
char a[1001];
for(int i = 1; i = 10; i++){
cin >> a[i];
}
return 0;
}
这是我写的代码,原题如下
题目描述
给你一个字符串 date ,格式表示一个日期。请你输出该日期是当年的第几天
输入格式
一个字符串date,题目保证date的范围为1900年1月1日到2019年12月31日之间的有效合法日期
输出格式
一个整数,代表该日期是当年的第几天
输入数据 1
2019-01-06
输出数据 1
6
后面不会写了,麻烦帮我看看后面该怎么写
int main()
{
char date[1001], ch;
int year = 0, month = 0, day = 0, i = 0;
int months[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
cin >> date;
while (date[i] != '-')
{
year = year * 10 + date[i] - '0';
i++;
}
i++;
while (date[i] != '-')
{
month = month * 10 + date[i] - '0';
i++;
}
i++;
while (date[i] != '\0')
{
day = day * 10 + date[i] - '0';
i++;
}
cout << year << "-" << month << "-" << day << endl;
if (month > 2 && ((year % 4 == 0 && year % 100 != 0) && year % 400 == 0))
day += 1;
for (i = 0; i < month - 1; i++)
day += months[i];
cout << day;
return 0;
}
#include<iostream>
#include<ctime>
#include<iomanip>
using namespace std;
bool isLeapYear(int year){
return (year%4==0 && year%100!=0) || (year%400==0);
}
int main(){
int n;
cin >> n;
tm t;
int d[13] = {31,28,31,30,31,30,31,31,30,31,30,31};
do{
cin >> get_time(&t, "%Y-%m-%d");
int sum = t.tm_mday;
for(int i=0;i<t.tm_mon;++i){
sum += d[i];
}
if((t.tm_mon>1)&&isLeapYear(t.tm_year))
++sum;
cout << sum << endl;
}while(--n);
return 0;
}