akira@dynabookAZ:~$ cd arm1304
akira@dynabookAZ:~/arm1304$ gcc -o b014 b014.c -lm
akira@dynabookAZ:~/arm1304$ ./b014
now example:> 20130403:> 20130806
old example:> 19020101:> 19450806
Answer Days: 24837
akira@dynabookAZ:~/arm1304$
「あの」日から68年後の日数は24837日なのか
#include <stdio.h>
long daysA();
main(){
char s1[30]="now example:> 20130403:> ";
char s2[30]="old example:> 19020101:> ";
char s3[30]="Answer Days: %ld\n";
char s4[30]="%s";
long a1,a2,a3;
printf(s4,s1); a2=daysA();
printf(s4,s2); a3=daysA();
a1=a2-a3;
printf(s3,a1);
}
long daysA(){
long l,l1,yy,mm,dd;
long mm1[15]={0,0,31,59,90,120,151,
181,212,243,273,304,334,365,396};
char d1[15]="%s";
char d3[15]="a=%ld\n";
char d2[30]=" ";
scanf(d1,d2);
yy=(d2[0]-48)*1000+(d2[1]-48)*100+(d2[2]-48)*10+(d2[3]-48);
mm=(d2[4]-48)*10+(d2[5]-48);
dd=(d2[6]-48)*10+(d2[7]-48);
/*printf(d3,yy);*/
if(mm>=3){
l1=yy-1900;
l =l1*365+mm1[mm]+dd+l1/4;
}
else{
l1=yy-1901;
l =l1*365+mm1[mm+12]+dd+l1/4;
}
return l;
}
0 件のコメント:
コメントを投稿