| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1516 人关注过本帖
标题:找不到突破口啊~~~~求帮助
只看楼主 加入收藏
tan2010
Rank: 2
等 级:论坛游民
帖 子:66
专家分:71
注 册:2011-10-13
收藏
得分:0 
回复 10楼 TonyDeng
嗯,多谢你的指导,受教了,我会努力的!!!
2011-11-10 00:46
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
喏,你不妨看看这里:https://bbs.bccn.net/thread-354557-1-1.html,几个代码,哪个更好理解、更容易维护、更容易修改?

授人以渔,不授人以鱼。
2011-11-10 00:54
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
收藏
得分:0 
程序代码:
#include <stdio.h>
main()
{
    int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//定义一个数组,来存放非闰年各月份的天数
    int b[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};//定义一个数组,来存放闰年各月份的天数
    int year,month,day,sum=0,i;
    printf("请依次输入要计算的年、月、日:\n");
    scanf("%d%d%d",&year,&month,&day);//输入要计算的年、月、日

    if(year%400==0||year%4==0&&year%100!=0)//判断是否闰年
        for(i=0;i<month-1;i++)    //是闰年,则用b数组的数来记数输入月份之前几个月的天数
            sum=sum+b[i];
    else 
        for(i=0;i<month-1;i++)   //不是闰年,则用a数组的数来记数输入月份之前几个月的天数
        sum=sum+a[i];
    
    sum=sum+day;        //最后加该月份的天数
    printf("%d年%d月%d日是%d年的第%d天",year,month,day,year,sum);//最后输出该年月日是该年的第多少天
}
2011-11-10 12:46
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 13楼 luchar
这个方案不错,只是没必要重复两个数组了。已经要判断闰年,仅一个月份不同,直接改那个月的天数即可,避开冗余数据。

授人以渔,不授人以鱼。
2011-11-10 13:42
qp785210028
Rank: 2
等 级:论坛游民
帖 子:37
专家分:52
注 册:2011-10-31
收藏
得分:5 
#include<stdio.h>
void main()
{
    int day,month,year,s,Q;
    printf("请输入 day,month,year\n");
    scanf("%d,%d,%d",&day,&month,&year);
    switch(month)
    {
    case 1:s=0;break;
    case 2:s=31;break;
    case 3:s=59;break;
    case 4:s=90;break;
    case 5:s=120;break;
    case 6:s=151;break;
    case 7:s=181;break;
    case 8:s=212;break;
    case 9:s=243;break;
    case 10:s=273;break;
    case 11:s=304;break;
    case 12:s=334;break;
    default:printf("error");break;
    }
    s=s+day;
    if((year%4==0)&&(year%100!=0))
        Q=1;
    else
        Q=0;
    if(Q=1&&month>2)
        s+=1;
    printf("这是第几天:%d",s);

}
看看这个呢?
2011-11-10 14:26
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 15楼 qp785210028
呵呵,这个也有创意,只是不要用死数使case,12个数放在数组中就可以了。

授人以渔,不授人以鱼。
2011-11-10 14:42
a_choat
Rank: 2
等 级:论坛游民
帖 子:60
专家分:44
注 册:2011-11-4
收藏
得分:0 
回复 8楼 TonyDeng
我会再加工的,而且要好好研究啊,程序不是小菜啊~~~
2011-11-10 16:07
a_choat
Rank: 2
等 级:论坛游民
帖 子:60
专家分:44
注 册:2011-11-4
收藏
得分:0 
回复 15楼 qp785210028
恩,易懂,只是要算很多个数,我懒啊~~不过之前也是这样想得啦
2011-11-10 16:09
a_choat
Rank: 2
等 级:论坛游民
帖 子:60
专家分:44
注 册:2011-11-4
收藏
得分:0 
回复 12楼 TonyDeng
其实数组才刚开了个头,很多还没弄懂,另我是普高上来的,对编程是菜鸟一只,一窍不通啊,只是对软件的热爱,请各位不吝赐教哈~~~~
2011-11-10 16:13
玉立
Rank: 2
等 级:论坛游民
帖 子:32
专家分:24
注 册:2011-10-17
收藏
得分:0 
回复 2楼 tan2010
高手能把每一步具体的实现意义标注一下吗。谢谢了。
2011-11-10 16:54
快速回复:找不到突破口啊~~~~求帮助
数据加载中...
 
   



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

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