搜索
查看: 2895|回复: 8
打印 上一主题 下一主题

C语言例程学习

[复制链接]
跳转到指定楼层
楼主
发表于 2012-7-21 17:00:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 nmjkl 于 2012-7-23 09:11 编辑

C语言例程:输入一个日期,输出该日期是该年度的第几天。
===========================

#include <stdio.h>
int main()
{
    int y,m,d,dete=0,flag=1;
    printf("input year,month,day:");
    scanf("%d %d %d",&y,&m,&d); /*输入年、月、日存入变量y、m、d*/
    switch(m)                                    /*根据月份求出该月之前的天数*/
    {
       case 1:dete=0;break;
       case 2:dete=31;break;
       case 3:dete=59;break;
       case 4:dete=90;break;
       case 5:dete=120;break;
       case 6:dete=151;break;
       case 7:dete=181;break;
       case 8:dete=212;break;
       case 9:dete=243;break;
       case 10:dete=273;break;
       case 11:dete=304;break;
       case 12:dete=334;break;
       default:printf("data error");flag=0;
    }
    if((m>2)&&((y%4==0)&&(y%100!=0)||(y%400==0))) dete++;   /*2月以后且为闰年的则多加1天*/
    dete+=d;                                                                                       /*加上当月的天数*/
    if(flag==1)
       printf("year=%d month=%d day=%d----NO.%d\n",y,m,d,dete);
    sleep(50000);
    return 0;
}

=======================
以上是高级语言程序设计自学考试书上的例子,代码正确。感谢啊哈网友JokerC热心指导!
感兴趣的同学,可以试着读懂它然后改编它。

评分

参与人数 1啊哈币 +1 收起 理由
nmjkl + 1

查看全部评分

沙发
 楼主| 发表于 2012-7-21 17:06:55 | 只看该作者
#include <stdio.h>
int main()
{
    int y,m,d,dete=0,flag=1;
    printf("input year,month,day:");
    scanf("%d %d %d",&y,&m,&d); /*输入年、月、日存入变量y、m、d*/
    switch(m)                                    /*根据月份求出该月之前的天数*/
    {
       case 1:dete=0;break;
       case 2:dete=31;break;
       case 3:dete=59;break;
       case 4:dete=90;break;
       case 5:dete=120;break;
       case 6:dete=151;break;
       case 7:dete=181;break;
       case 8:dete=212;break;
       case 9:dete=243;break;
       case 10:dete=273;break;
       case 11:dete=304;break;
       case 12:dete=334;break;
       default:printf("data error");flag=0;
    }
    if((m>2)&&((y%4==0)&&(y%100!=0)||(y%400==0))) dete++;   /*2月以后且为闰年的则多加1天*/
    dete+=d;                                                                                       /*加上当月的天数*/
    if(flag==1)
       printf("year=%d month=%d day=%d----NO.%d\n",y,m,d,dete);
    sleep(50000);
    return 0;

}

============
加红代码进行了重新排版,这样代码书写就有点规范了,看起来舒服一些,如果说错了,请高手指正。
板凳
 楼主| 发表于 2012-7-21 17:27:39 | 只看该作者
以后我会贴上更多的源代码,大家一起学习进步!

让我们一起支持啊哈C!
地板
发表于 2012-7-23 21:27:26 | 只看该作者
这例程有什么实际意义呢?
5#
发表于 2012-7-25 13:58:22 | 只看该作者
感谢分享
6#
 楼主| 发表于 2012-7-25 14:11:03 | 只看该作者
nmjkl 发表于 2012-7-25 13:58
感谢分享

共同学习!
7#
发表于 2012-7-25 16:22:02 | 只看该作者
天山雪 发表于 2012-7-25 14:11
共同学习!

以后最好不要找那么多楼层发帖,修改错误要在原帖上修改
8#
 楼主| 发表于 2012-7-29 09:19:10 | 只看该作者
nmjkl 发表于 2012-7-25 16:22
以后最好不要找那么多楼层发帖,修改错误要在原帖上修改

没有找到原帖编辑功能。抱歉。
9#
发表于 2012-8-9 17:32:42 | 只看该作者
baiyingele 发表于 2012-7-23 21:27
这例程有什么实际意义呢?

作为练习来说这就相当有意义了,还没到高手阶段大家都是在探索,能写出来证明自己所学也是不错啊,何必打击
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表