常规switch语句用法
首先,要下载、安装c++(vc6.0),这个是编程软件。然后从电脑软件中找到打开它。
然后新建文件,从键盘输入字符,编写必需的程序代码。
#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; }
上面的是常规的 switch语句用法。例如想计算2015 .3.1是第几天,只需在运行框输入 2015 3 1。注意年月日之间用空格隔开。按一下【enter】键就会输出结果了。
我们可以在程序中加入循环语句,可以在运行框连续输入,而不用退出再次运行,方便,快捷,好用。
#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; }
如输入 2015 3 1,输出60天。 再次输入2012 2 1,输出32天。
高级switch语句用法
这里来介绍switch语句高级用法。一般来说,switch语句与break语句搭配使用,而这里就是巧妙的运用break语句,来实现switch语句的高级功能。
#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; }
在运行框从键盘输入2015 3 5,输出结果为64天。
这个程序也可加入for语句,进行连续输入。
#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; }
如输入2013 2 1输出32天。 再次输入2011 2 15输出46天。