扎心了老铁。。
格式输出问题,一直纠结了辣么长时间。。。
题目:给出年分m和一年中的第n天,算出第n天是几月几号。
#include<stdio.h> int a[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; bool isleap(int m) { if ((m % 4 == 0 && m % 100 != 0) || (m % 400 == 0)) return 1; else return 0; } void Year(int m, int n){ int i = 1; while (n>a[i]){ n -= a[i]; i++; } printf("d-d-d\n", m, i, n); } int main(){ int m, n; scanf_s("%d", &m); scanf_s("%d", &n); if (isleap(m)){ a[2]++; Year(m, n); a[2]--; } else Year(m, n); return 0; } 按照以上的格式牛客网通不过。。。后来给m,n输入时,加了一个限制条件,完美通过。原因就在于输入时,m和n是有条件限制的,//输入包括两个整数y(1<=y<=3000),n(1<=n<=366)。所以在vs上虽然可以运行,但牛客网系统通不过。。。真真扎心呀。。
while(~scanf("%d%d",&m,&n)) { if(isleap(m)){ a[2]++; Year(m,n); a[2]--; } else Year(m,n); }
