多语言展示
当前在线:1667今日阅读:26今日分享:39

用c语言 (c++) 统计某年某月某日是该年的第几天

c语言软件为计算机入门语言,简单,方便,易于操作。下面小编来讲讲怎样用c语言编写一个统计某年某月某日是该年的第几天,比如说2015.3.1是2015年的第60天,如果有程序帮助,我们就可以快速统计结果。这里介绍用switch语句来实现本功能。
工具/原料

c++软件(vc6.0)

常规switch语句用法
1

首先,要下载、安装c++(vc6.0),这个是编程软件。然后从电脑软件中找到打开它。

2

然后新建文件,从键盘输入字符,编写必需的程序代码。

3

#include "stdafx.h"int main(int argc, char* argv[]){    int i=0,j=0,k=0,x=0,y=0;printf("请输入年月日:");scanf("%d %d %d",&i,&j,&k);{if((i%4==0&&i%100!=0)||i%400==0)y=1;else y=0;}      switch(j)       {         case 1:x=0;break;         case 2:x=31;break;         case 3:x=31+28+y;break;         case 4:x=31+28+31+y;break;         case 5:x=31+28+31+30+y;break;         case 6:x=31+28+31+30+31+y;break;         case 7:x=31+28+31+30+31+30+y;break;         case 8:x=31+28+31+30+31+30+31+y;break;         case 9:x=31+28+31+30+31+30+31+31+y;break;         case 10:x=31+28+31+30+31+30+31+31+30+y;break;         case 11:x=31+28+31+30+31+30+31+31+30+31+y;break;         case 12:x=31+28+31+30+31+30+31+31+30+31+30+y;break;         default:printf("input error\n");       }      x+=k;    printf("这是%d年的第%d天\n",i,x);return 0;}

4

上面的是常规的 switch语句用法。例如想计算2015 .3.1是第几天,只需在运行框输入 2015  3 1。注意年月日之间用空格隔开。按一下【enter】键就会输出结果了。

5

我们可以在程序中加入循环语句,可以在运行框连续输入,而不用退出再次运行,方便,快捷,好用。

6

#include "stdafx.h"int main(int argc, char* argv[]){    int i=0,j=0,k=0,x=0,y=0;printf("请输入年月日:");scanf("%d %d %d",&i,&j,&k);for(;;){{if((i%4==0&&i%100!=0)||i%400==0)y=1;else y=0;}      switch(j)       {         case 1:x=0;break;         case 2:x=31;break;         case 3:x=31+28+y;break;         case 4:x=31+28+31+y;break;         case 5:x=31+28+31+30+y;break;         case 6:x=31+28+31+30+31+y;break;         case 7:x=31+28+31+30+31+30+y;break;         case 8:x=31+28+31+30+31+30+31+y;break;         case 9:x=31+28+31+30+31+30+31+31+y;break;         case 10:x=31+28+31+30+31+30+31+31+30+y;break;        case 11:x=31+28+31+30+31+30+31+31+30+31+y;break;        case 12:x=31+28+31+30+31+30+31+31+30+31+30+y;break; default:printf("input error\n");       }      x+=k;    printf("这是%d年的第%d天\n",i,x);printf("请输入年月日:");scanf("%d %d %d",&i,&j,&k);}return 0;}

7

如输入 2015  3 1,输出60天。再次输入2012 2 1,输出32天。

高级switch语句用法
1

这里来介绍switch语句高级用法。一般来说,switch语句与break语句搭配使用,而这里就是巧妙的运用break语句,来实现switch语句的高级功能。

2

#include "stdafx.h"int main(int argc, char* argv[]){    int i=0,j=0,k=0,x=0,y=0;printf("请输入年月日:");scanf("%d %d %d",&i,&j,&k);{if((i%4==0&&i%100!=0)||i%400==0)y=1;else y=0;}      switch(j) {case 12:x=30+x;case 11:x=31+x; case 10:x=30+x;case 9:x=31+x;case 8:x=31+x;case 7:x=30+x;case 6:x=31+x;case 5:x=30+x;case 4:x=31+x;case 3:x=x+28+y;case 2:x=x+31;case 1:x=x;break;default:printf("input error\n");}      x=x+k;    printf("这是%d年的第%d天\n",i,x);return 0;}

3

在运行框从键盘输入2015 3 5,输出结果为64天。

4

这个程序也可加入for语句,进行连续输入。

5

#include "stdafx.h"int main(int argc, char* argv[]){    int i=0,j=0,k=0,x=0,y=0;printf("请输入年月日:");scanf("%d %d %d",&i,&j,&k);for(;;){{if((i%4==0&&i%100!=0)||i%400==0)y=1;else y=0;}      switch(j) {case 12:x=30+x;case 11:x=31+x; case 10:x=30+x;case 9:x=31+x;case 8:x=31+x;case 7:x=30+x;case 6:x=31+x;case 5:x=30+x;case 4:x=31+x;case 3:x=x+28+y;case 2:x=x+31;case 1:x=x;break;default:printf("input error\n");}      x=x+k;    printf("这是%d年的第%d天\n",i,x);printf("请输入年月日:");scanf("%d %d %d",&i,&j,&k);x=0;}return 0;}

6

如输入2013 2 1输出32天。再次输入2011 2 15输出46天。

注意事项
1

在输入时注意年月日之间用空格键

2

小编长期更新c语言内容,可关注我以便及时交流。

3

大家喜欢请点个赞,投一个票。如有不足,请指出。我们将不懈努力。

推荐信息