|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h> // 算出生存天数比答案多一天,不知道哪里有问题;其次最后打印结果的时候,最后两行怎么左对齐;还是需要再添加两个printf函数打印;有没有办法再一个里面打印出来;
int main() {
int year1, year2, mouth1, mouth2, day1, day2, D, D1 = 0, D2 = 0, i, D3, D4;
int day[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; //非闰年
int x;
double s;
printf("请输入你的生日 (如1988-05-20) : ");
scanf("%d-%d-%d", &year1, &mouth1, &day1);
// getchar();
printf("请输入今天的日期(如1988-05-20) : ");
scanf("%d-%d-%d", &year2, &mouth2, &day2);
for (i = mouth1 - 1; i < 12; i++) {
D1 = D1 + day[i];
}
for (i = 0; i < mouth2 - 1; i++) {
D2 = D2 + day[i];
}
D1 = D1 - day1;
D2 = D2 + day2;
D3 = (year2 - year1 - 1) * 365;
D4 = (year2 - year1) / 4 + 1;//算多少个闰年
D = D1 + D2 + D3 + D4;
x = 80 * 365 + 80 / 4 + 1 - D;
s = (double)D / (x + D);
s = s * 100;
printf("你在这个世界上总共生存了%d天\n\
如果能活到80岁,你还剩下%d天\n\
你已经使用了%.2f%%的生命,请好好珍惜剩下的时间!", D, x, s);
return 0;
} |
-
算出答案有一天的差距,不知道哪里有问题
|