A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

10黑马币
if (time2[1] - time1[1] >= 0 && time2[2] - time1[2] >= 0)
              {
                  
                   p1=(time2 [0]-time1 [0])*12;
                   p11 = 12 - time1[1]+1;
                   p12 = time2[1]-1;
                   p = p1 + p11 + p12;
                  
              }
            else
              {
                   p1=(time2 [0]-time1 [0]-1)*12;
                   p11 = 12 - time1[1]+1;
                   p12 = time2[1]-1;
                   p = p1 + p11 + p12;
              }
              Console.WriteLine("一共有多少个{0}",p );
            int [] s=new int [p];
可以把计算出来的那多少个月存入我定义的那个数组吗?

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

6 个回复

倒序浏览
没看懂,可以贴个完整代码,意思明确一下吗
回复 使用道具 举报
gb2312_8 发表于 2013-8-26 16:14
没看懂,可以贴个完整代码,意思明确一下吗

public static int[] yue = new int[13];
        static void Main(string[] args)
        {
            int  p1, p11, p12,p=0 ;
            //计算出1999年5月10日到2006年3月8日期间一共有多少天?
            //【用户输入两个日期】-----【程序】-----【输出两个日期间的天数】。// 1 3 5 7 8 10 12  2 4 6
            Console.WriteLine(闰年(2000));
            月();
            Console.WriteLine(天(2000,2));
            Console.WriteLine("请输入起始日期");
            int [] time1=new int [3];
            for (int i=0;i <time1 .Length ;i ++)
            {
             time1 = Convert.ToInt32(Console.ReadLine());
            }
            int[] time2 = new int[3];
            Console.WriteLine("请输入截止日期");
              for (int i=0;i <time1 .Length ;i ++)
              {
             time2 [i ]= Convert.ToInt32(Console.ReadLine());
              }//1999 5  10--2006 3  8  1999  5-2006 3 hai 5yue duo  10tian  3yue shao 8tian -2 tian  ?2000 2001 2002 2003 2004 2005 6nian? 5-12 7yue 0-3 3yue +10yue
            //6nian  10yue -2tian //2000runnian 366 2001 ping  365 2002 ping 365 2003 ping 365 2004 run366 2005 ping 365 2006 ping 365  6nian   4ge 365 2ge 366  365 4 1460 366 2 732   =2192
            //1999ping 365 1yue 3 yue  62tian 2yue 28tian 5yue31  30tian 58 62 151tian   365-151=214  2006 ping 1yue 31 2yue 28tian 31 +28=90  
            //2192+245+59-2=2494
              if (time2[1] - time1[1] >= 0 && time2[2] - time1[2] >= 0)
              {
                  
                   p1=(time2 [0]-time1 [0])*12;
                   p11 = 12 - time1[1]+1;
                   p12 = time2[1]-1;
                   p = p1 + p11 + p12;
                  
              }
            else
              {
                   p1=(time2 [0]-time1 [0]-1)*12;
                   p11 = 12 - time1[1]+1;
                   p12 = time2[1]-1;
                   p = p1 + p11 + p12;
              }
              Console.WriteLine("一共有多少个{0}",p );
            int [] s=new int [p];

            
            Console.ReadKey();
        }
        static string 闰年(int s)
        {
            string result;
            if (s % 400 == 0 || (s / 100 != 0 && s / 4 == 0))
            {
                result = "闰年";
            }
            else
            {
                result = "不是闰年";
            }
            return result;
        }
        static void 月()
        {
            int[] dayue = { 1, 3, 5, 7, 8, 10, 12 };
            int[] xiaoyue = { 4, 6, 9, 11 };
            int[] eryue = { 2 };
            for (int i = 0; i < dayue.Length; i++)
            {
                yue[dayue] = 1;
            }
            for (int i = 0; i < xiaoyue.Length; i++)
            {
                yue[xiaoyue] = 2;
            }
            for (int i = 0; i < eryue.Length; i++)
            {
                yue[eryue] = 3;
            }
        }
        static string 天(int v ,int s)
        {
            string result = 闰年(v);
            if (result == "闰年")
            {
                switch (yue)
                {
                    case 1:
                        result = "31天";
                        break;
                    case 2:
                        result = "30天";
                        break;
                    case 3:
                        result = "29天";
                        break;
                }
                return result;
            }
            else
            {
                switch (yue)
                {
                    case 1:
                        result = "31天";
                        break;
                    case 2:
                        result = "30天";
                        break;
                    case 3:
                        result = "28天";
                        break;
                }
                return result;
            }
就是想得到的多少个月 每个值都弄到那个得到的数组里面 然后下面不是有对比月多少天的吗 然后对比 然后循环取值下 我是这样想的 汗 不知道可以不的?

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

回复 使用道具 举报
数组元素数不能随便更改,你需要使用列表:

  1.     List<int> days = new List<int>();//数组不能自由增减元素数,你需要的是列表
  2.     int day ;//你得到的每月天数
  3.     day = 30;
  4.     days.Add(day);//把天数加进列表
  5.     Console.WriteLine(days[0]);//列表可以像数组一样使用
  6.     day = 31;
  7.     days.Add(day);//现在列表中有两个元素了{30,31}
  8.     int sum = 0;//天数总和
  9.     foreach (int item in days)//遍历列表,把每个元素相加求和
  10.     {
  11.         sum = sum + item;
  12.     }
  13.     Console.WriteLine(sum);
  14.     Console.ReadKey();

复制代码
回复 使用道具 举报
本帖最后由 gb2312_8 于 2013-8-27 11:29 编辑
天涯浪子 发表于 2013-8-26 18:02
public static int[] yue = new int[13];
        static void Main(string[] args)
        {

你的意思就是计算两个日期之间的天数,你没必要那样实现。也没法实现,你的数组只存的月份,你判断天数的时候还有年份,这个你怎么和数组中的月相关联啊。。。。。。。。。。年的天数是一定的,只不过闰年加1天而已。你可以先计算相隔的年数,年数*365,然后判断有几个是闰年,再加几,这是相隔年数的天数,在计算月,天的天数,相加就是两日期之间的天数
回复 使用道具 举报
gb2312_8 发表于 2013-8-27 11:26
你的意思就是计算两个日期之间的天数,你没必要那样实现。也没法实现,你的数组只存的月份,你判断天数的 ...

是没什么用啊 只是有那想法而已 呵呵 做出来勒。。。郁闷勒
回复 使用道具 举报
可以。list<int> li=new list<int>();li.add(p)就行了

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马