Ⅰ c語言輸入年份月份,輸出天數。
#include<stdio.h>
void main()
{
int year,month,leap;
scanf("%d%d",&year,&month);
if(year%400==0)
leap=1;
else
{
if(year%4==0&&year%100!=0)
leap=1;
else leap=0;
}
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:printf("%d年的%d月的天數為31",year,month);break;
case 4:
case 6:
case 9:
case 11:printf("%d年的%d月的天數為30",year,month);break;
case 2:if(leap==1)
printf("%d年的d%月的天數為29",year,month);
else printf("%d年的%d月的天數為28",year,month);break;
default:printf("月份錯誤");
}
}
Ⅱ c語言編程 輸入月份數。相應輸出該月天數
main()
{
int a,c;
scanf("%d,%d",&a,&c);
switch(c)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:c=31;break;
case 4:
case 6:
case 9:
case 11:c=30;break;
case 12:c=28+(a%4==0&&a%100!=0||a%400==0);break;
}
printf("該月共有%d天\n",c);
}
變數B是多餘的,然後12月份你寫錯了。沒有default,只有12種情況。
輸出應該在swich語句結束之後,將C的值輸出。
有問題可以找我。呵呵
另外,團IDC網上有許多產品團購,便宜有口碑
Ⅲ 任輸入一平年的月份,輸出該月份對應的天數用C語言怎麼寫
由於程序的功能可以得出我們可以使用switch語句來完成這個功能。只需要用switch判定一下所處的月份,然後輸出對應的天數就可以完成程序的功能。
程序代碼如下:
#include<stdio.h>
int main()
{
int month=0;
scanf("%d",&month);
switch(month){
case 2 : printf("二十八天 ");break;
case 4 : printf("三十天 ");break;
case 6 : printf("二十八天 ");break;
case 9 : printf("二十八天 ");break;
case 11 : printf("二十八天 ");break;
default : printf("三十一天 ");
}
}
(3)c語言輸入月份並輸出天數擴展閱讀:
switch語句使用注意事項:
switch語句執行時會從上到下根據括弧中表達式的值做比較,當某個case語句中的表達式與此值相同時,就執行這個case語句或語句序列,直到遇到break為止。
break語句是必須有的,它用來結束switch語句的執行。如果所有case語句後面的表達式都不等於switch語句的表達式expr1的值0執行default後面的默認語句序列。
default部分是可選的。如果沒有這一部分,並遇到所有case語句都不匹配,那麼,就不作任何處理而進入後續程序段的執行。
switch語句工作原理:
對表達式(通常是變數)進行一次計算。
把表達式的值與結構中 case 的值進行比較。
如果存在匹配,則執行與 case 關聯的代碼。
代碼執行後,break語句阻止代碼跳入下一個 case 中繼續執行。
如果沒有 case 為真,則使用default語句。
參考資料來源:網路-switch語法
Ⅳ 用C語言編譯程序:輸入制定年月的月份天數
c語言忘記了,給你一個大概的思路
首先輸入年份,scanf,然後判斷是否閏年if
year/400,如果是閏年的話
下面接一個switch
,1,3,5,7,8,10
12輸出31天,2,4,6,9,11是30天,2月28天
或者你用if語句寫也可以。
編程盡量自己寫,別人寫出來雖然你能看懂,但是要你自己寫還是寫不出的。
Ⅳ 用C語言編程序"輸入月份,輸出對應的天數"
這個要考慮閏年,所以還要輸入年份
#include<stdio.h>
intmain(void)
{
intyear,mount;
intbuf[13]={0,31,0,31,30,31,30,31,31,30,31,30,31};
printf("請輸入年份月份用空格隔開 ");
while(1)
{
scanf("%d%d",&year,&mount);
if(mount<13&&mount>0)
break;
else
printf("月份輸入錯誤請重新輸入年份月份用空格隔開 ");
}
if(mount!=2)
{
printf("本月有%d天 ",buf[mount]);
}
else
{
if(year%4==0&&year%100!=0||year%400==0?1:0)
printf("本月有29天 ");
else
printf("本月有28天 ");
}
return0;
}
Ⅵ c語言編寫程序,輸入某年某月,求該月的天數
#include<iostream.h>
voidmain()
{
intYear,Month,Day;
cout<<"Pleaseenterthecurrentdate(年月以空格分隔):";
cin>>Year>>Month;
while(Month<=0||Month>12)
{
cout<<"輸入時間有誤,請重新輸入:";
cin>>Year>>Month;
}
switch(Month)
{
case4:
case6:
case8:
case9:
case11:
Day=30;
break;
case2:
if(Year%400==0||Year%4==0&&nYear%100!=0)
Day=29;
else
Day=28;
break;
default:Day=31;
}
cout<<"該月天數為:"<<Day<<"天";
}
Ⅶ 編寫程序,輸入年月日,輸出天數
#include<iostream>
using namespace std;
int main()
{
int year,month,day;
int days=0,i;
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; //定義一個數組 用來存放每個月的天數
cout<<"請輸入年月日,比如2014 12 9"<<endl;
cin>>year>>month>>day;
for(i=1;i<month;i++) //天數相加
{
days=days+a[i];
}
days=days+day;
if((((year%4==0)&&(year%100!=0))||(year%400==0))&&month>=3) //若是閏年的情況 月份在二月之後 天數加1
{
days=days+1;//daya+=1
}
cout<<month<<"月"<<day<<"月是"<<year<<"年中的第"<<days<<"天"<<endl; //輸出月 天數。
return 0;
}
Ⅷ 輸入年份月份 輸出顯示該月份的天數 c語言編寫
scanf("%d%d",year,month);錯了
應該是:
scanf("%d%d",&year,&month);
還有啊:case後面有空格的,是case
1,不是case1。
switch...case在執行時具有貫穿性,會從第一個匹配的項開始一路向下執行,知道遇見break或語句塊結束符,如
case
1:
//do
a
執行完do
a後繼續執行下一條case(do
b)
case
2:
//do
b
執行完do
b後繼續執行下一條case(do
c)
case
3:
//do
c
執行完do
c後遇到break;直接跳出switch...case語句塊
break;
case
4:
...
Ⅸ 編寫程序,輸入年月信息後,顯示當年和當月的天數用c語言
#include
void
main()
{
int
i,year,month,day;
do
{
printf("年");
scanf("%d",&year);
printf("月");
scanf("%d",&month);
if(month<0||month>12)
printf("輸入錯誤請重新輸入");
}while(month<0||month>12);
if((year%4==0
&&
year%100!=0)||(year%400==0))
i=1;
else
i=0;
switch(month)
{
case
2:
if(i==1)
day=29;day=28;break;
case
4:
case
6:
case
9:
case
11:
day=30;break;
default
:
day=31;break;
}
printf("%d年%d月的天數:%d\n",year,month,day);
}
看看能否執行
你的if中應該是month==而不是month=
=是賦值語句
==是關系語句