| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 427 人关注过本帖
标题:写了个程序,请大家给指导指导,谢谢!
只看楼主 加入收藏
C语言学徒
Rank: 2
来 自:NamKing
等 级:论坛游民
帖 子:51
专家分:22
注 册:2009-2-27
结帖率:90%
收藏
 问题点数:0 回复次数:4 
写了个程序,请大家给指导指导,谢谢!
今天写课后题看到一个给你某年某月某日让你算是一年中的第几天,做完之后想试试如果给你一年中的第几天,你能不能算出是第几个月第几天,于是我用半个小时写下了一下这个代码,请大家给指导一下,有什么漏洞请尽可批评,谢谢大家!



main()
{int year,day,i,j,month,month_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
month=1;
printf("input year,day\n");
scanf("%d,%d",&year,&day);
printf("\n");
if(day<=31)
printf("Today is year %d month %d day %d \n",year,month,day);
else {if(((year%400==0)||(year%4&&year%100!=0))&&(day>=60))
     day=day-1;
     for(i=1;i<=12;i++)
     {
       day-=month_tab[i];
       if(day<=28||day==30||day==31)
       {month=i+1;
        break;
        }
      }
      printf("Today is year %d month %d day %d \n",year,month,day);
      }

getch();
}
搜索更多相关主题的帖子: 指导 
2009-09-14 14:22
地狱无明火
Rank: 2
等 级:论坛游民
帖 子:62
专家分:71
注 册:2009-6-11
收藏
得分:0 
程序代码:
/* VC环境 */
#include <stdio.h>

int main (void)
{
    int yearInput;
    int daysInput;
    int monthDay[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
    int month = 0;
    int day;

    //输入年份
    printf("Please insert the year: ");
    scanf("%d", &yearInput);
    
    //闰年二月份加一天
    if(yearInput % 4 == 0)
        monthDay[1]++;

    //输入天数
    printf("Insert the numbers of days: ");
    scanf("%d",&daysInput);

    for(int i = 0; i < 12; i++)
    {
        //月份增一,如果还有足够的天数就减去
        month++;
        if(daysInput > monthDay[i])
            daysInput -= monthDay[i]; 

        //剩下的转交给日数,强行结束   
        else
        {
            day = daysInput;
            break;
        }

    }//循环结束

    //输出结果
    printf("Date : %d - %d - %d\n\n", yearInput, month, day);

    return 0;
}

2009-09-16 03:55
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
#include<stdio.h>
void main()
{
    int s(int yea,int mon,int day);
    int yea,mon,day,t;
    printf("input a day number include the year,the month and the day:");
    scanf("%d,%d,%d",&yea,&mon,&day);
    putchar('\n');
    t=s(yea,mon,day);
    printf("%d,%d,%d is the %d day of this year\n",yea,mon,day,t);
}
int s(int yea,int mon,int day)
{
    int a[12]={31,29,31,30,31,30,31,30,31,30,31,30};
    int i,sum=0;
    if((yea%4==0&&yea%100!=0)||yea%400==0)
        a[1]=28;
    for(i=0;i<mon-1;i++)
        sum+=a[i];
    sum+=day;
    return sum;
}
2009-09-16 16:39
ljt0000mf
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:104
专家分:157
注 册:2009-7-4
收藏
得分:0 
3楼受教了
2009-09-16 16:47
C语言学徒
Rank: 2
来 自:NamKing
等 级:论坛游民
帖 子:51
专家分:22
注 册:2009-2-27
收藏
得分:0 
晕,貌似我要的和你发的是相反的哦,呵呵,不过还是谢谢大侠了,的确编的不错!还望以后多多指教,谢谢……
2009-09-22 17:34
快速回复:写了个程序,请大家给指导指导,谢谢!
数据加载中...
 
   



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

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