C言語なら私に聞いてYO! 49
■ このスレッドは過去ログ倉庫に格納されています
0519デフォルトの名無しさん
NGNGそうじゃなくてもこれをもっと短くする方法ってありますかね?
#include <stdio.h>
main()
{
static int days_data[13]={0,31,28,31,30,31,30,31,31,30,31,30,31},Feb=28;
int i,days1,y1,m1,d1,days2,y2,m2,d2,leap,lapse,ydays;
printf("初めの年月日を入力してください : ");
scanf("%d %d %d",&y1,&m1,&d1);
printf("終りの年月日を入力してください : ");
scanf("%d %d %d",&y2,&m2,&d2);
leap=(y1%4==0 && y1%100!=0)|| y1%400==0;
days_data[2]=Feb+leap;
days1=d1;
for(i=1;i<m1;i++){
days1+=days_data[i];
}
leap=(y2%4==0 && y2%100!=0)|| y2%400==0;
days_data[2]=Feb+leap;
days2=d2;
for(i=1;i<m2;i++){
days2+=days_data[i];
}
ydays=0;
for(i=y1;i<y2;i++){
leap=(i%4==0 && i%100!=0)|| i%400==0;
ydays+=365+leap;
}
lapse=(ydays+days2)-days1;
printf("経過日数は%d日です\n",lapse);
}
■ このスレッドは過去ログ倉庫に格納されています