① C语言编程 从键盘输入一个年份和月份,输出该月有多少天(考虑闰年)
用switch选择的:
#include<stdio.h>
int main()
{
int y,m;
printf("请依次输入年,月:
");
scanf("%d,%d",&y,&m); //上机时注意打逗号,也可修改为其他格式
switch(m)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:printf("这个月有31天
");break;
case 2 : if(y%4==0&&y%100!=0||y%400==0) //最基本的判断闰年的条件
printf("这个月有29天
");
else printf("这个月有28天
");break;
case 4:
case 6:
case 9 :
case 11:printf("这个月有30天
");break;
}
return 0;
}
用指针型列举的:
#include<stdio.h>
int a[]={31,28,31,30,31,30,31,31,30,31,30,31},*p1,*p2,*p3,i=1,k=0;
int main()
{
int p1,p2;
printf("请依次输入年·月:
");
scanf("%d%d",&p1,&p2);
if(p1%4==0&&p1%100!=0||p1%400==0)
a[1]=29;
if(p2>12)
printf("您的输入有误!
");
printf("这个月的天数为:%d
",a[p2-1]);
return 0;
}#include <stdio.h>
main()
{int a,b;
printf("请输入年份和月份:
");
scanf("%d%d",&a,&b);
if (a%4==0&&a%100!=0)
if(b==2)
printf("这个月有29天
");
else if (b==1||b==3||b==5||b==7||b==8||b==10||b==12)
printf("这个月有31天
");
else
printf("这个月有30天
");
else if(b==2)
printf("这个月有28天
");
else if (b==1||b==3||b==5||b==7||b==8||b==10||b==12)
printf("这个月有31天
");
else
printf("这个月有30天
");}
普通
#include <stdio.h>
main(){
int a,b;
printf("请输入年份和月份:
");
scanf("%d%d",&a,&b);
if (a%4==0&&a%100!=0)
if(b==2)
printf("这个月有29天
");
else if (b==1||b==3||b==5||b==7||b==8||b==10||b==12)
printf("这个月有31天
");
else
printf("这个月有30天
");
else if(b==2)
printf("这个月有28天
");
else if (b==1||b==3||b==5||b==7||b==8||b==10||b==12)
printf("这个月有31天
");
else
printf("这个月有30天
");}
(1)通过日期求某月的天数C编程扩展阅读
switch 语句可以处理多分支选择问题,根据其中break 语句的使用方法,一般分三种情况。
在switch 语句的每个语句段中都使用break 语句,这是switch 语句的主要使用方法,一般形式为:
switch (表达式)
case 常量表达式1: 语句段1; break;
case 常量表达式2: 语句段2; break;
case常量表达式n: 语句段n; break;
case常量表达式n+1:语句段n+ 1; break;
default :
参考资料c语言网络经验
② 用c语言switch语句编写程序,输入某年某月,求该月的天数
判断一个日期是这一年中那一天。编译环境vc++6.0#include<iostream>
using namespace std;
void main()
{
int i;
int sum=0;
int year,month,day;
int rick[12]={31,29,31,30,31,30,31,31,30,31,30,31};
int conmon[12]={31,28,31,30,31,30,31,31,30,31,30,31};
cout<<"请输入一个日期,格式:2010 10 10"<<endl;
cin>>year>>month>>day;
if((year%4==0&&year%100!=0)||(year%400==0))
{
for(i=0;i<month-1;i++)
sum=sum+rick[i];
}
else
{
for(i=0;i<month-1;i++)
sum=sum+conmon[i];
}
sum=sum+day;
cout<<year<<' '<<month<<' '<<day<<"是这一年中的第"<<sum<<"天"<<endl;