鱼C论坛

 找回密码
 立即注册
查看: 846|回复: 2

[已解决]我学习了小甲鱼的这串代码以后自己试着打了一遍,请问我这串代码为什么出问题了呢?

[复制链接]
发表于 2022-2-26 22:54:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
int main()
{
        int year1,year2,year3;
        int month1,month2,month3;
        int day1,day2,day3;
        int days[]={31,28,31,30,31,30,31,31,30,31,30,31};
        long count1=0,count2;
       
        printf("请输入您的出生日期(y-m-d):");
        scanf("%d-%d-%d",&year1,&month1,day1);
       
        printf("请输入今天的日期(y-m-d):");
        scanf("%d-%d-%d",&year2,&month2,&day2);
       
        year3=year1+80;
        month3=month1;
        day3=day1;
        while(1)
        {
                days[1]=year1%400==0||year1%4==0&&year1%100!=0?29:28;
                while(month1<=12)
                {
                        while(day1<=days[month1-1])
                        {
                                if(day1==day2&&month1==month2&&year1==year2)
                                {
                                        count2=count1;
                                        printf("您一共活了%d天",count2);
                                       
                                }
                                if(day1==day3&&month1==month3&&year1==year3)
                                {
                                        printf("如果您能活到80岁,您剩下%d天的寿命",count1-count2);
                                        printf("您已经使用了%.2f%%的生命,请好好珍惜剩下的时间",(double)count2/count1*100);
                                        return 0;
                                }
                                day1++;
                                count1++;
                        }
                        day1=1;
                        month1++;
                }
                month1=1;
                year1++;
               
        }
}
最佳答案
2022-2-26 22:56:53
本帖最后由 isdkz 于 2022-2-26 22:58 编辑

第11行, day1 漏了一个 &
#include<stdio.h>
int main()
{
        int year1,year2,year3;
        int month1,month2,month3;
        int day1,day2,day3;
        int days[]={31,28,31,30,31,30,31,31,30,31,30,31};
        long count1=0,count2;
       
        printf("请输入您的出生日期(y-m-d):");
        scanf("%d-%d-%d",&year1,&month1,&day1);         // 这里的 day1 漏了一个 &
       
        printf("请输入今天的日期(y-m-d):");
        scanf("%d-%d-%d",&year2,&month2,&day2);
       
        year3=year1+80;
        month3=month1;
        day3=day1;
        while(1)
        {
                days[1]=year1%400==0||year1%4==0&&year1%100!=0?29:28;
                while(month1<=12)
                {
                        while(day1<=days[month1-1])
                        {
                                if(day1==day2&&month1==month2&&year1==year2)
                                {
                                        count2=count1;
                                        printf("您一共活了%d天",count2);
                                       
                                }
                                if(day1==day3&&month1==month3&&year1==year3)
                                {
                                        printf("如果您能活到80岁,您剩下%d天的寿命",count1-count2);
                                        printf("您已经使用了%.2f%%的生命,请好好珍惜剩下的时间",(double)count2/count1*100);
                                        return 0;
                                }
                                day1++;
                                count1++;
                        }
                        day1=1;
                        month1++;
                }
                month1=1;
                year1++;
               
        }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-2-26 22:56:53 | 显示全部楼层    本楼为最佳答案   
本帖最后由 isdkz 于 2022-2-26 22:58 编辑

第11行, day1 漏了一个 &
#include<stdio.h>
int main()
{
        int year1,year2,year3;
        int month1,month2,month3;
        int day1,day2,day3;
        int days[]={31,28,31,30,31,30,31,31,30,31,30,31};
        long count1=0,count2;
       
        printf("请输入您的出生日期(y-m-d):");
        scanf("%d-%d-%d",&year1,&month1,&day1);         // 这里的 day1 漏了一个 &
       
        printf("请输入今天的日期(y-m-d):");
        scanf("%d-%d-%d",&year2,&month2,&day2);
       
        year3=year1+80;
        month3=month1;
        day3=day1;
        while(1)
        {
                days[1]=year1%400==0||year1%4==0&&year1%100!=0?29:28;
                while(month1<=12)
                {
                        while(day1<=days[month1-1])
                        {
                                if(day1==day2&&month1==month2&&year1==year2)
                                {
                                        count2=count1;
                                        printf("您一共活了%d天",count2);
                                       
                                }
                                if(day1==day3&&month1==month3&&year1==year3)
                                {
                                        printf("如果您能活到80岁,您剩下%d天的寿命",count1-count2);
                                        printf("您已经使用了%.2f%%的生命,请好好珍惜剩下的时间",(double)count2/count1*100);
                                        return 0;
                                }
                                day1++;
                                count1++;
                        }
                        day1=1;
                        month1++;
                }
                month1=1;
                year1++;
               
        }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-26 22:59:13 | 显示全部楼层
isdkz 发表于 2022-2-26 22:56
第11行, day1 漏了一个 &

阿这,没仔细
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 10:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表