葬礼昨天 发表于 2016-3-17 15:27

【笔记】C# 本站发布的初级编程作业第二题

本帖最后由 奋斗丶小Z 于 2016-3-18 11:49 编辑

UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8。现在,你的程序要读入一个整数,表示BJT的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果分小于10分,需要保留十位上的0。如1124表示11点24分,而905表示9点5分,36表示0点36分,07表示0点7分。
有效的输入范围是0到2359,即你的程序不可能读到0到2359以外的输入数据。
你的程序要输出这个时间对应的UTC时间,输出的格式和输入的相同,即输出一个整数,表示UTC的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果分小于10分,需要保留十位上的0。
提醒:要小心跨日的换算。

输入格式:
一个整数,表示BJT的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果分小于10分,需要保留十位上的0。

输出格式:
一个整数,表示UTC的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果分小于10分,需要保留十位上的0。

输入样例:
903

输出样例:
103


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _52pojie2
{
    class Program
    {
      static void Main(string[] args)
      {
            int time, i, temp;
            int[] a = new int;
            a = 0;

            Console.WriteLine("Please input the time!");
            time = int.Parse(Console.ReadLine());
            temp = time;
                if (time < 0 || time > 2359)
                {
                  Console.WriteLine("you have a wrong nuber!");
                  Console.Read();
                }
                else
                {
                  for (i = 0; i < 4; i++)
                  {
                        a = time / (int)Math.Pow(10, 3 - i);
                        time -= a * (int)Math.Pow(10, 3 - i);
                  }

                  time = a * 10 + a;
                  temp = a * 10 + a;
                  if (time < 24 && temp < 60)
                  {
                        if (a == 0 && a == 0)
                        {
                            Console.WriteLine("{0}{1}", a, a);
                            Console.Read();
                        }
                        if (time == 8)
                        {
                            Console.WriteLine("{0}", temp);
                            Console.Read();
                        }
                        if (time > 8)
                        {
                            Console.WriteLine("{0}{1}", time - 8, temp);
                            Console.Read();
                        }
                        else
                        {
                            Console.WriteLine("{0}{1}", 16 + a, temp);
                            Console.Read();
                        }
                  }
                  else
                  {
                        Console.WriteLine("you have a wrong nuber");
                        Console.Read();
                  }

                }
      
                     
      }
    }
}




虚心求指导,刚刚学习C#,这代码很不简洁,大神可以优化,可以另写,,,,哈哈

葬礼昨天 发表于 2016-3-17 22:26

奋斗丶小Z 发表于 2016-3-17 19:49
改一下标题前缀

【编程语言区】本版发帖标题格式=前缀+标题,不按照格式直接删除


大哥,在哪修改啊{:1_937:}

Cizel 发表于 2016-3-17 19:50

改一下标题前缀

【编程语言区】本版发帖标题格式=前缀+标题,不按照格式直接删除
http://www.52pojie.cn/thread-457450-1-1.html

葬礼昨天 发表于 2016-3-17 15:30

忘了添加注释,想删掉重新写,结果没找到地方,大家将就一下吧,哈哈

localhost80 发表于 2016-3-17 15:41

看到c#格外亲切,也有点悲催。

faintout 发表于 2016-3-17 16:15

感觉有点麻烦

zgkt 发表于 2016-3-17 16:19

楼主可以研究一些算法关系

小虾米TC 发表于 2016-3-17 16:32

高大上。。。。。

Cizel 发表于 2016-3-17 19:49

改一下标题前缀

【编程语言区】本版发帖标题格式=前缀+标题,不按照格式直接删除
http://www.52pojie.cn/thread-457450-1-1.html

Cizel 发表于 2016-3-18 08:26

葬礼昨天 发表于 2016-3-17 22:26
大哥,在哪修改啊

修改标题~ 编辑
页: [1] 2
查看完整版本: 【笔记】C# 本站发布的初级编程作业第二题