输入年天数求解年月日

    xiaoxiao2021-03-25  93

      扎心了老铁。。

      格式输出问题,一直纠结了辣么长时间。。。

     题目:给出年分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); }

      

    转载请注明原文地址: https://ju.6miu.com/read-21887.html

    最新回复(0)