将Julian历法中的日转换成月和日
#include<stdio.h>
int a[15]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int i,x;
int fun(int *p,int x) {
if(x>=366||x<1) {
printf("Eorr!\n");
return 0;
}
else {
for(i=1;x>a[i]+1;i++)
x-=a[i];
a[13]=i;
a[14]=x;
return 1;
}
}
int main() {
while(scanf("%d",&x)) {
i=fun(a,x);
if(i>0)
printf("%d月%d日\n",a[13],a[14]);
}
return 0;
}
未考虑闰年,因为题目没给出具体定义。x>a[i]是每个月的天数+1正好控制为该月最后一天
转载于:https://blog.51cto.com/windorman/871900