刘传 发表于 2019-1-18 11:54:11

一个求一年第几天的问题

main()
{
        int year,month,day;
        scanf("%d%d%d",&year,&month,&day);
        int month={31,28,31,30,31,30,31,31,30,31,30,31};
        if(year%4==0&&year%100!=0||year%400==0)
                month=29;
        int i,sum=0;
        for(i=0;i<month;i++)
                sum+=month;
        sum+=day;
        printf("这是%d年的第%d天",year,sum);
}

想求助各位小伙伴这里怎么错了{:10_301:}
就是显示有错误无法运行

mlgbdbsb 发表于 2019-1-18 11:59:07

for(i=0;i<month;i++)
                sum+=month;

sum += month;

mlgbdbsb 发表于 2019-1-18 11:59:41

sum += month

sunrise085 发表于 2019-1-18 13:08:38

你的程序for循环有问题。for循环中止条件应该是i<mon-1 。例如,输入的月份是1,那么for循环应该是不进行,直接结束,而你的程序则会循环一次。
帮你修改了一下。
#include <stdio.h>
main()
{
    int year,mon,day;
    scanf("%d %d %d",&year,&mon,&day);
    int month={31,28,31,30,31,30,31,31,30,31,30,31};
    if((year%4==0&&year%100!=0)||year%400==0)
      month=29;
    int i,sum=0;
    for(i=0;i<mon-1;i++)
      sum+=month;
    sum+=day;
    printf("这是%d年的第%d天",year,sum);
}
PS:你发帖的时候,代码需要设置为代码格式,在发帖编辑框上方有<>符号是插入代码用的。若不是插入代码,那么那个for循环中的[ i]会被当做斜体符号,将之后的文字变为斜体,而不会显示出来。

为什么你一个问题发两个帖子啊?

刘传 发表于 2019-1-18 13:28:08

sunrise085 发表于 2019-1-18 13:08
你的程序for循环有问题。for循环中止条件应该是i

感谢感谢{:10_297:}
我第一次来发帖子不明白哈哈原来要这样做
但是我把你的复制上去还是不好使
显示有一个错误

sunrise085 发表于 2019-1-18 13:47:52

刘传 发表于 2019-1-18 13:28
感谢感谢
我第一次来发帖子不明白哈哈原来要这样做
但是我把你的复制上去还是不好使


什么错误?你倒是说啊。。
我这里运行没问题啊?
页: [1]
查看完整版本: 一个求一年第几天的问题