编写一个C语言函数

tang056 2010-02-06 02:12:17
编写一个函数,要求输入年月日时分秒,输出该年月日时分秒的下一秒。如输入2004年12月31日23时59分59秒,则输出2005年1月1日0时0分0秒。
用C语言编写!
...全文
177 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
tang056 2010-02-07
  • 打赏
  • 举报
回复
8楼的,好
Zero0009 2010-02-06
  • 打赏
  • 举报
回复
有点费眼神
libomvp529 2010-02-06
  • 打赏
  • 举报
回复
比较非体力
pang123hui 2010-02-06
  • 打赏
  • 举报
回复
OK了,运行了一下,应该没有问题的


#include <stdio.h>
#define TRUE 1

int Amonth[2][13]={
{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
}; //一个是闰年的,一个是非闰年的
int leap = 0;
int year, month, day, hour, minute, second;

int LeapYear(int year) //闰年的判断函数
{
if ( (year%4 == 0) && (year%100 != 0) ||
(year%400 == 0) )
{
return 1;
}
else
{
return 0;
}
}


void InputData(void) //输入把年月日等等分开输入,这样判断简单一点
{
printf("Input year:");

while(TRUE)
if (scanf("%d", &year) != 1 || (year < 1000))
{
puts("Input year error");
getchar();

}
else
{
break;
}
leap = LeapYear(year);

printf("Input month:");
while(TRUE)
if (scanf("%d", &month) != 1 || month<1 || month>12)
{
puts("Input month error!");
getchar();

}
else
{
break;
}

printf("Input Day:");
while(TRUE)
if (scanf("%d", &day) != 1 || day<1 || day>Amonth[leap][month])
{
puts("Input day error!");
getchar();

}
else
{
break;
}

printf("Input Hour:");
while(TRUE)
if (scanf("%d", &hour) != 1 || hour<0 || hour>24)
{
puts("Input hour error!");
getchar();

}
else
{
break;
}

printf("Input Minute:");
while(TRUE)
if (scanf("%d", &minute) != 1 || minute<0 || minute>59)
{
puts("Input minute error!");
getchar();

}
else
{
break;
}

printf("Input Second:");
while(TRUE)
if (scanf("%d", &second) != 1 || second<0 || second>59)
{
puts("Input second error!");
getchar();

}
else
{
break;
}
}


void NextSec(void)
{
if (++second == 60)
{
second = 0;
minute++;
}
if (minute == 60)
{
minute = 0;
hour++;
}
if (hour == 24)
{
hour = 0;
day++;
}
if (day == Amonth[leap][month]+1)
{
day = 1;
month++;
}
if (month == 13)
{
month = 1;
year++;
}

printf("The next second is %d-%d-%d %d:%d:%d\n\n",
year, month, day, hour, minute, second);
}

int main(void)
{
InputData();

NextSec();

return 0;
}
sd666850 2010-02-06
  • 打赏
  • 举报
回复
LS的正解
pang123hui 2010-02-06
  • 打赏
  • 举报
回复
应该还有闰年的判断啊;一年中每个月份有多少天等问题;


正好放假比较闲,我写试试
yzx714 2010-02-06
  • 打赏
  • 举报
回复
这代码属于体力型的,楼主可以自己处理下吧
bladesoft 2010-02-06
  • 打赏
  • 举报
回复
写代码太累了,即便是简单的题目,因为要注意的问题太多了。楼主以后还是尽量问一些技术点,这样帮助你的人会多一点。
lovesi3344 2010-02-06
  • 打赏
  • 举报
回复
废话少说,直接上代码

[Quote=引用 1 楼 yzx714 的回复:]
还是比较简单的,处理一下59秒的情况就是的
[/Quote]
yzx714 2010-02-06
  • 打赏
  • 举报
回复
当然还有其他满的情况
yzx714 2010-02-06
  • 打赏
  • 举报
回复
还是比较简单的,处理一下59秒的情况就是的

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧