| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 289 人关注过本帖
标题:想了很久,找不出哪里出错了,希望大家能帮帮我
只看楼主 加入收藏
Garra耻辱
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-5-14
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:5 
想了很久,找不出哪里出错了,希望大家能帮帮我
#include<stdio.h>
int main (void)
{
int year1,year2,month1,month2,date1,date2,i,j,total_year_days=0,total_month_days1=0,total_month_days2=0,total_days;
printf("pealse input your birth day(year,month,date):\n");                                                              
scanf("%d,%d,%d",&year1,&month1,&date1);
printf("pealse input nowaday day(year,month,date):\n");
scanf("%d,%d,%d",&year2,&month2,&date2);
    for(i=year1;i<year2;i++)
    {
    if(i%4==0&&i%100!=0||i%400==0)
    total_year_days=total_year_days+366;
    else
    total_year_days=total_year_days+365;
    }
    for(j=1;j<month1;j++)
    {
    if(j==1,j==3,j==5,j==7,j==8,j==10,j==12)
        total_month_days1=total_month_days1+31;
    if(j==4,j==6,j==9,j==11)
        total_month_days1=total_month_days1+30;
        if(j==2)
        {
            if(year1%4==0&&year1%100!=0||year1%400==0)
            total_month_days1=total_month_days1+29;
            else
            total_month_days1=total_month_days1+28;
        }
    }
    for(j=1;j<month2;j++)
    {
    if(j==1,j==3,j==5,j==7,j==8,j==10,j==12)
        total_month_days2=total_month_days2+31;
    if(j==4,j==6,j==9,j==11)
        total_month_days2=total_month_days2+30;
        if(j==2)
        {
            if(year2%4==0&&year2%100!=0||year2%400==0)
            total_month_days2=total_month_days2+29;
            else
            total_month_days2=total_month_days2+28;
        }
    }
total_days=total_year_days+total_month_days2+date2-total_month_days1-date1;
printf("%d\n",total_days);
return 0;
}
/*year1,month1,date1是出生年月日,year2,month2,date2是今天年月日,total_year_days是从出生年到今年上一年总天数,total_month_days1=0出生年份1月到出生前一月总天数,total_month_days2=0今年1月到这个月前一月总天,total_days活了的天数。
主要问题:比如1990.3.11到1991~2011.1~3.1~30是对的如果现在月份大于出生月份就不对了!
请学长们帮帮忙
2011-05-14 22:34
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:20 
图片附件: 游客没有浏览图片的权限,请 登录注册

意思是不是说这个输出是错误的???
2011-05-14 22:45
Garra耻辱
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-5-14
收藏
得分:0 
回复 2楼 寒风中的细雨
对,是错的,应该是7734.从1990.3.11到2011.5.14
2011-05-14 22:50
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
程序代码:
#include<stdio.h>
int main (void)
{
    int year1, year2, month1, month2, date1, date2, i,
        j, total_year_days=0, total_month_days1=0,
        total_month_days2=0, total_days;
   
    printf("pealse input your birth day(year,month,date):\n");  
   
    scanf("%d,%d,%d",&year1,&month1,&date1);

    printf("pealse input nowaday day(year,month,date):\n");

    scanf("%d,%d,%d",&year2,&month2,&date2);

    for(i=year1;i<year2;i++)
    {
        if(i%4==0&&i%100!=0||i%400==0)
            total_year_days = total_year_days+366;
        else
            total_year_days = total_year_days+365;
    }
    for(j=1;j<month1;j++)
    {
        if(j==1 || j==3 || j==5 || j==7 || j==8 || j==10 || j==12)
            total_month_days1=total_month_days1+31;
        if(j==4 || j==6 || j==9 || j==11)
            total_month_days1=total_month_days1+30;
        if(j==2)
        {
            if(year1%4==0&&year1%100!=0||year1%400==0)
                total_month_days1=total_month_days1+29;
            else
                total_month_days1=total_month_days1+28;
        }
    }
    for(j=1;j<month2;j++)
    {
        if(j==1 || j==3 || j==5 || j==7 || j==8 || j==10 || j==12)
            total_month_days2=total_month_days2+31;
        if(j==4 || j==6 || j==9 || j==11)
            total_month_days2=total_month_days2+30;
        if(j==2)
        {
            if(year2%4==0&&year2%100!=0||year2%400==0)
                total_month_days2=total_month_days2+29;
            else
                total_month_days2=total_month_days2+28;
        }
    }

    total_days= total_year_days + total_month_days2 + date2 - total_month_days1 - date1;

    printf("%d\n",total_days);

    return 0;
}
2011-05-14 23:10
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
if(j==1,j==3,j==5,j==7,j==8,j==10,j==12)
知道逗号表达式 怎么用吗?
依次计算每个表达式的值  但是只取最后一个
2011-05-14 23:12
Garra耻辱
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-5-14
收藏
得分:0 
回复 5楼 寒风中的细雨
啊,谢谢,学长。。太谢谢了。感谢,哈哈,辛苦了
2011-05-14 23:21
快速回复:想了很久,找不出哪里出错了,希望大家能帮帮我
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030094 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved