鱼C论坛

 找回密码
 立即注册
查看: 2351|回复: 4

求高手帮忙纠正下程序 谢谢

[复制链接]
发表于 2013-12-8 08:17:23 | 显示全部楼层 |阅读模式
1鱼币
#include <stdio.h>
void main()
{
        int year,day,leap,days,month;
        printf("please input year month and day:");
    scanf ("%d %d %d",year,month,day);
        if(year%4==0)
        {
                if (year%100==0)
                {
                        if(year%400==0)
                        {
                                leap=1;
                        }
                        else
                        {
                                leap=0;
                        }
                }

        else
                {
                        leap=1;
                }
        else
        {
                leap=0;
        }
        if(leap && month>3)
        {
                if(month%2==0)
                {
                        days=(30*month)+(month/2)+1;
                }
                else
                {
                        days=(31*month)-(month/2)+1;
                }
        }
    else
        {
            if(month%2==0)
                {
                        days=(30*month)+(month/2);
                }
                else
                {
                        days=(31*month)-(month/2);
                }
        }
        printf("%d",days);
}
上面的程序有错。。。显示说1.说else用错了 2说scanf那有错 3.说最后一个括号}有错
但还是不知道怎样改 求高手帮忙改改谢谢

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-12-8 08:39:46 | 显示全部楼层
#include <stdio.h>
void main()
{
        int year,day,leap,days,month;
        printf("please input year month and day:");
        //scanf ("%d %d %d",year,month,day);
        scanf("%d %d %d",&year,&month,&day);
        /*if(year%4==0)
        {
                if (year%100==0)
                {
                        if(year%400==0)
                        {
                                leap=1;
                        }
                        else
                        {
                                leap=0;
                        }
                }
                
        else
                {
                        leap=1;
                }
        else//连续两个else不错才怪看你这代码就是判断是否是闰年是吧
        {
                        leap=0;
        }*/
                if(year%4 == 0 && year%100 != 100 || year%400 == 0)
                {
                        leap = 1;
                }
                else
                {
                        leap = 0;
                }
        
                if(leap && month>3)
        {
                        if(month%2==0)
                        {
                                days=(30*month)+(month/2)+1;
                        }
                        else
                        {
                                days=(31*month)-(month/2)+1;
                        }
        }
                else 
        {
            if(month%2==0)
                        {
                                days=(30*month)+(month/2);
                        }
                        else
                        {
                                days=(31*month)-(month/2);
                        }
        }
        printf("%d",days);
        }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-12-8 09:53:14 | 显示全部楼层
scanf函数你忘记写取址符&了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-12-9 14:06:46 | 显示全部楼层
我用的这个编译器显示scanf没错,你的程序最后少了一个},还有一个else错了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-12-16 22:40:00 | 显示全部楼层
1. scanf ("%d %d %d" &year, &month, &day);  // 要加&
2. 第一個 else 前面少了個 } 並且 爲什麽會有兩個else?

此為初學者,鑒定完畢,要多加練習,自己調試、
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 19:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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