积累
在Nowcoder中经常遇到多次调用函数,导致不通过,开始给我整蒙了都。百思不得其解,一度于怀疑自己是不是入错行了。
在主函数里面,他会输入好几组数据,你需要循环来处理每一组数据,而不是只处理完第一次数据就return。
#include <iostream>
using namespace std;
int main() {
int a,b;
while(scanf("%d %d",&a, &b) != EOF)//while处理多个样例
{
//函数体
}
return 0;
}
实例:
https://www.nowcoder.com/practice/769d45d455fe40b385ba32f97e7bcded?tpId=37&&tqId=21296&rp=1&ru=/activity/oj&qru=/ta/huawei/question-ranking
根据输入的日期,计算是这一年的第几天。。
详细描述:
输入某年某月某日,判断这一天是这一年的第几天?。
最开始解:
输出为空,请检查一下你的代码有没有循环输入处理多个case ——之原因
优化后:
#include<iostream>
using namespace std;
int Getmonthday(int year, int month)
{
int a[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int _day = a[month];
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{
if (month == 2)
_day = 29;
}
return _day;
}
int main()
{
int year, month, day;
while(scanf("%d %d %d",&year, &month ,&day) != EOF)
{
int tmp = 0;
for (int i = 1; i < month; i++)
{
tmp += Getmonthday(year, i);
}
tmp += day;
cout << tmp << endl;
}
return 0;
}